# [Tutor] Binary/Decimal convertor

Dave Angel d at davea.name
Fri Jan 11 23:17:17 CET 2013

```On 01/11/2013 04:51 PM, Ghadir Ghasemi wrote:
> Hi, I made a program called binary/denary convertor. Can anyone tell me about how I could stop the user entering a binary number with more than 8 numbers or 8 bit by repeating the question over and over until they do enter a correct binary number( 8-bit or less)
> Here is the code. I started off by entering 'len' function.
>
>     return num1 + num2
>
> num1 = int(input('please enter the first 8 bit binary number: '),2)
> if len(num1) > 8:
>     print("please enter an 8 bit binary number")
> return int(num1,2)
> num2 = int(input('please enter the second 8 bit binary number: '),2)
> print('the result is', bin(result)[2:])
>
>

1.  Specify the Python version.  I'll assume version 3.3
2.  Show whatever error you got.  I'd guess something like the following:

File "<stdin>", line 1, in <module>
TypeError: object of type 'int' has no len()

The len() function operates on strings, lists, and other sequences and
converted it to an int, which has no len() method.  It might be simplest
to compare the value num to 0 and 255.  Alternatively, you could compare
it before doing the int function.

Since you're doing it twice, it probably makes sense to do this in a
function.  Write a function that repeatedly asks the user till it gets a
value in the right range.

The other error that jumps out is that you have a return statement at
top-level, while the statement only makes sense inside a function.  That
problem goes away once you put the input logic inside a function.

--

DaveA

```