Heim > Artikel > Backend-Entwicklung > Warum erhalte ich die Meldung „NameError: Name ‚x‘ ist nicht definiert“, nachdem ich eine Benutzereingabe in Python erhalten habe?
Fehlerbehandlung: Lösen des „NameError“ nach Benutzereingaben in Python
Beim Versuch, Benutzereingaben in Python abzurufen, stoßen viele Anfänger auf das gefürchteter Fehler „NameError: Name ‚x‘ ist nicht definiert“. Dieses Problem tritt auf, wenn die vom Benutzer eingegebene Variable, z. B. „x“, nicht als gültige Variable im Python-Code erkannt wird.
Ein häufiges Missverständnis ist, dass input() für diesen Zweck verwendet werden sollte. In Python 2.x ist input() jedoch eine Funktion, die ihr Argument auswertet und es als Python-Code ausführt. Das heißt, wenn Sie eine Zeichenfolge wie „Hallo“ eingeben, wird versucht, diese als Python-Anweisungen zu interpretieren, was nicht das ist, was Sie beabsichtigen.
Um dies zu beheben, sollten Sie stattdessen raw_input() verwenden, was auch der Fall ist speziell für den Erhalt von Benutzereingaben in Python 2.x entwickelt. raw_input() gibt einfach die eingegebene Zeichenfolge ohne Auswertung zurück.
Korrigierter Code
UserName = raw_input("Please enter your name: ") print("Hello Mr. " + UserName) raw_input("<Press Enter to quit.>")
Mit dieser Änderung funktioniert der Code einwandfrei in Python 2.x , und Sie werden nicht mehr auf die Ausnahme „NameError“ stoßen, wenn Sie Benutzereingaben verwenden.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Meldung „NameError: Name ‚x‘ ist nicht definiert“, nachdem ich eine Benutzereingabe in Python erhalten habe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!