Drücken Sie zum beenden die EINGABETASTE While-Schleife in Python 3.4

Ich bin neu in Python und unterrichte mich über die letzten Monate. Das Buch, das ich mit lehrt Python 2.7, während ich versuche zu lernen in Python 3.4. Ich habe daran gewöhnt, mit beiden jetzt, sondern auch für das Leben von mir ich kann nicht herausfinden, wie beenden Sie diese while-Schleife mit der enter-Taste. Der code wird unten angezeigt:

total = 0
count = 0
data = eval(input("Enter a number or press enter to quit: "))

while data != "":
    count += 1
    number = data
    total += number
    average = total / count
    data = eval(input("Enter a number or press enter to quit: "))
print("The sum is", total, ". ", "The average is", average)

Ich bekomme immer diese Fehlermeldung:

Traceback (most recent call last):
  File "/Users/Tay/Documents/Count & Average.py", line 10, in <module>
    data = eval(input("Enter a number or press enter to quit: "))
  File "<string>", line 0

    ^
SyntaxError: unexpected EOF while parsing

Ich bin in der Lage zu bekommen, eine modifizierte version dieser code funktioniert bei 2.7, aber ich würde gerne wissen, wie Sie in 3.4. Ich habe gesucht, überall herum und kann nicht scheinen, um eine Antwort zu finden.

  • Warum sind Sie mit eval? Setzen Sie die while Bedingung am Ende der Schleife, nicht die oberen.
  • Eine Eingabe von dem Benutzer auf diese Weise: anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/io.html
  • Ich habe nur die code-änderungen mit dieser Anleitung: docs.python.org/2/library/2to3.html. Deshalb bin ich mit eval. Sollte ich nicht mit eval?
  • Vermeiden eval() Wann immer möglich. Sie können den Fehler abfangen mit try..except (nicht expect).
  • Okay, danke für den Tipp TigerhawkT3!
  • Auch @RobertHarvey danke für den link. Ich wird stellen Sie sicher, dass es Lesezeichen.

InformationsquelleAutor Lprox5 | 2015-05-19
Schreibe einen Kommentar