problem mit eval und runden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
LP640
User
Beiträge: 142
Registriert: Dienstag 29. September 2009, 14:40

hallo ich hab wieder mal ne frage

wieso kommt bei folgendem code für y immer 1 raus obwohl eigentlich 1.33333333333333 (4/3) rauskommen müsste und wie kann man das problem beheben???

Code: Alles auswählen

funktion="4/3"
x=-10
while x<=10:
    y=eval(funktion)
    print x," : ",y
    x=x+1
mfg
LP640
Zuletzt geändert von LP640 am Donnerstag 10. Dezember 2009, 22:23, insgesamt 1-mal geändert.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

1. Finger weg von eval
2. Dein Problem hat nichts mit eval zu tun, sondern mit Divisionen bei Python (Code unter Python 2.6 ausgeführt):

Code: Alles auswählen

>>> 4 / 3
1
>>> 4 / 3.0
1.3333333333333333
>>> from __future__ import division
>>> 4 / 3
1.3333333333333333
>>> 4 // 3
1
Benutzeravatar
LP640
User
Beiträge: 142
Registriert: Dienstag 29. September 2009, 14:40

vielen dank derdon

mfg
LP640
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Schon wieder eval... :(

Es gibt hier kaum so lernresistente Nutzer wie LP640... :roll:
Antworten