Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Saya Mendapat 'NameError: nama 'nama' tidak ditakrifkan' Apabila Mengendalikan Input Pengguna dalam Python?

Mengapa Saya Mendapat 'NameError: nama 'nama' tidak ditakrifkan' Apabila Mengendalikan Input Pengguna dalam Python?

DDD
DDDasal
2024-11-12 20:19:02301semak imbas

Why Am I Getting a

Ralat: "NameError: nama 'nama' tidak ditakrifkan" semasa Mengendalikan Input Pengguna dalam Python

Apabila mengendalikan input pengguna dalam Python, adalah penting untuk menggunakan kaedah yang betul bergantung pada versi Python yang digunakan. Dalam soalan khusus ini, isu timbul kerana penggunaan input() dalam Python 2.x.

Memahami Isu

Dalam Python 2.x, fungsi input() menilai input yang dimasukkan sebagai kod Python, yang boleh membawa kepada hasil yang tidak dijangka. Dalam kod yang disediakan, input pengguna diberikan kepada UserName pembolehubah. Walau bagaimanapun, apabila mencetak mesej "Hello En. " Nama Pengguna, jurubahasa cuba menilai input pengguna sebagai nama pembolehubah yang sah.

Penyelesaian

Untuk mengelakkan ini isu dalam Python 2.x, gunakan fungsi raw_input() dan bukannya input(). Fungsi raw_input() membaca input pengguna sebagai rentetan, tanpa menilai ia sebagai kod Python. Kod yang betul sepatutnya kelihatan seperti ini:

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

Penggunaan dalam Python 3.x

Dalam Python 3.x, input() berkelakuan serupa dengan raw_input() dalam Python 2.x, menilai input pengguna sebagai rentetan secara lalai. Oleh itu, dalam Python 3.x, kod yang disediakan dalam soalan akan berfungsi tanpa sebarang pengubahsuaian.

Atas ialah kandungan terperinci Mengapa Saya Mendapat 'NameError: nama 'nama' tidak ditakrifkan' Apabila Mengendalikan Input Pengguna dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn