Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Saya Mendapat 'NameError: nama 'nama' tidak ditakrifkan' Apabila Mengendalikan Input Pengguna dalam Python?
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!