Przesyłam do funkcji float rzutuje na int i to co zrzutowałem przechodzi w pętli na tuple. Wie ktoś jak się tego pozbyć?
Treść błędu: Traceback (most recent call last):
File "reprezentacja_liczb_typu_float.py", line 81, in <module>
print(float_to_bin(we[i]))
File "reprezentacja_liczb_typu_float.py", line 10, in float_to_bin
y=y+str(c%2)
TypeError: unsupported operand type(s) for %: 'tuple' and 'int'
kod:
def float_to_bin(x):
c=int(x)
u=abs(x)-c
if(c<0):
y="-"
else:
y=""
z=""
while(c!=0):
y=y+str(c%2)
c=divmod(c,2)
for i in range(0,23-len(y)):
if(u<=0):
break;
u=u*2
if(u>=1):
z=z+"1"
u=u-1
else:
z=z+"0"
return str(y+","+z)
ile =int(input())
we=[]
for i in range(0,ile):
we.append(float(input()))
for i in range(0,ile):
print(float_to_bin(we[i]))