Muss eval einen string oder code-Objekt?
Wenn ich den folgenden code, bekomme ich die folgende Fehlermeldung: eval() arg 1 muss ein string sein oder ein code-Objekt
Wer weiß, warum? Dies ist der code, ich Lerne aus einem Buch, so dass ich davon ausgegangen, dass es richtig wäre.
# Prompt the user to enter three numbers
number1 = eval(input("Enter the first number: "))
number2 = eval(input("Enter the second number: "))
number3 = eval(input("Enter the third number: "))
# Compute average
average = (number1 + number2 + number3) / 3
print("The average of", number1, number2, number3, "is", average)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie mit
input()
auf Python 2, die bereits läufteval()
auf den Eingang. Entfernen Sie einfach dieeval()
nennen, oder ersetzeninput()
mitraw_input()
.Alternativ verwenden Python 3 um diesen code auszuführen, ist es klar, trifft in dieser version. Wenn Ihr Buch verwendet folgende syntax, dann möchten Sie verwenden die richtige version die code-Beispiele ausführen.
Meisten von allen, nicht verwenden
input()
auf Python 2 odereval()
auf Python 3. Wenn Sie möchten, integer-zahlen, verwenden Sie dieint()
statt.Python 2 Beispiel:
Python-3-version:
eval
in Python 3.x und warum istprint(eval(input()))
nicht funktioniert mit Python 2.7, aberprint(eval(raw_input()))
ist?