Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich die Meldung „NameError: Name ‚x‘ ist nicht definiert“, nachdem ich eine Benutzereingabe in Python erhalten habe?

Warum erhalte ich die Meldung „NameError: Name ‚x‘ ist nicht definiert“, nachdem ich eine Benutzereingabe in Python erhalten habe?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-15 21:19:03808Durchsuche

Why am I getting a

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!

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