Seite 1 von 1

problem mit eval und runden

Verfasst: Donnerstag 10. Dezember 2009, 22:05
von LP640
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

Verfasst: Donnerstag 10. Dezember 2009, 22:10
von derdon
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

Verfasst: Donnerstag 10. Dezember 2009, 22:23
von LP640
vielen dank derdon

mfg
LP640

Verfasst: Freitag 11. Dezember 2009, 14:31
von Hyperion
Schon wieder eval... :(

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