Python 2.3 és Python 3.3-ban hol vannak külömbségek?
Figyelt kérdés
Python 2.3-ban jól működik az adott feladatra írt program, de az újabb verzióban nem úgy értelmezi. Tudom hogy vannak változtatások az újabb verzióban, de nem jövők rá hogy hol kell másképp írni. Ebben kérnék segítséget, aki jártas a különbségekben. Programrészlet: print ('Írjon be egy évszámot ') a=input () b=float (a) while a! =0: if (b%4==0) and ( (b%100! =0) or (b%400==0) ) : print ('Ez szökőév') else: print ('Ez nem szökőv') print ('Írjon be egy másik évszámot') a=input () b=float (a) print ('Kilép') A 2.3-as verzióban végre hajtódik úgy ahogy én szeretném, de a 3.3-ban mintha "while a! =0" mintha máshogy értelmezné, hiába írok nullát nem lép ki, nem fejeződik be. Mi lenne a megoldás?2013. szept. 15. 18:12
1/3 anonim válasza:
A válasz az lehet, hogy az "a" változó stringet tartalmaz, ami nem lehet egyenlő egy számmal. A megoldás: "a"-t konvertálni egészre beolvasáskor, és float helyett egésszel elvégezni a műveleteket, mert nem biztos, hogy a modulo szereti a floatokat.
2/3 uno20001 válasza:
Itt nagyrészt leírják: [link]
3/3 A kérdező kommentje:
Köszönöm szépen! A float-ot leváltottam int-re és így a 3.3-as verzióban is lefutott rendesen a program. (Y)
2013. szept. 16. 15:43
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!