• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Python. Błąd w programie

Object Storage Arubacloud
0 głosów
194 wizyt
pytanie zadane 11 września 2017 w Python przez ThyRavenWings Nowicjusz (190 p.)
zamknięte 12 września 2017 przez ThyRavenWings

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]))

 

komentarz zamknięcia: Rozwiązany problem

1 odpowiedź

+2 głosów
odpowiedź 12 września 2017 przez adrian17 Ekspert (344,860 p.)
wybrane 12 września 2017 przez ThyRavenWings
 
Najlepsza
Strasznie ciężko się czyta ten kod, ale zgaduję że chodzi o to że divmod() zwraca krotkę. Jeśli chcesz po prostu podzielić bez reszty, to nie wystarczy tam aby `c // 2`?

Podobne pytania

0 głosów
1 odpowiedź 161 wizyt
pytanie zadane 22 lipca 2020 w Python przez PanPrezes Obywatel (1,520 p.)
0 głosów
1 odpowiedź 174 wizyt
pytanie zadane 25 czerwca 2020 w Python przez PanPrezes Obywatel (1,520 p.)
+1 głos
1 odpowiedź 482 wizyt
pytanie zadane 17 grudnia 2019 w Python przez Marak123 Stary wyjadacz (11,190 p.)

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...