Heim >Backend-Entwicklung >Python-Tutorial >Warum erhalte ich beim Verarbeiten von Benutzereingaben in Python die Fehlermeldung „NameError: Name ‚Name' ist nicht definiert'?

Warum erhalte ich beim Verarbeiten von Benutzereingaben in Python die Fehlermeldung „NameError: Name ‚Name' ist nicht definiert'?

DDD
DDDOriginal
2024-11-12 20:19:02262Durchsuche

Why Am I Getting a

Fehler: „NameError: Name ‚Name‘ ist nicht definiert“ beim Verarbeiten von Benutzereingaben in Python

Beim Verarbeiten von Benutzereingaben in Python, Es ist wichtig, je nach verwendeter Python-Version die richtige Methode zu verwenden. Bei dieser speziellen Frage entsteht das Problem aufgrund der Verwendung von input() in Python 2.x.

Das Problem verstehen

In Python 2.x ist das Die Funktion input() wertet die eingegebene Eingabe als Python-Code aus, was zu unerwarteten Ergebnissen führen kann. Im bereitgestellten Code wird die Eingabe des Benutzers der Variablen UserName zugewiesen. Beim Drucken der Nachricht „Hallo Herr „Benutzername“ versucht der Interpreter jedoch, die Eingabe des Benutzers als gültigen Variablennamen auszuwerten.

Die Lösung

Um dies zu vermeiden Problem in Python 2.x, verwenden Sie die Funktion raw_input() anstelle von input(). Die Funktion raw_input() liest die Eingaben des Benutzers als String, ohne sie als Python-Code auszuwerten. Der richtige Code sollte so aussehen:

UserName = raw_input("Please enter your name: ")
print("Hello Mr. " + UserName)
raw_input("<Press Enter to quit.>")

Verwendung in Python 3.x

In Python 3.x verhält sich input() ähnlich wie raw_input() In Python 2.x wird die Eingabe des Benutzers standardmäßig als Zeichenfolge ausgewertet. Daher würde der in der Frage bereitgestellte Code in Python 3.x ohne Änderungen funktionieren.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Verarbeiten von Benutzereingaben in Python die Fehlermeldung „NameError: Name ‚Name' ist nicht definiert'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn