Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa saya mendapat 'NameError: nama 'x' tidak ditakrifkan' selepas mendapat input pengguna dalam Python?

Mengapa saya mendapat 'NameError: nama 'x' tidak ditakrifkan' selepas mendapat input pengguna dalam Python?

Patricia Arquette
Lepaskan: 2024-11-15 21:19:03
asal
878 orang telah melayarinya

Why am I getting a

Pengendalian Ralat: Menyelesaikan 'NameError' selepas Input Pengguna dalam Python

Apabila cuba mendapatkan semula input pengguna dalam Python, ramai pemula menghadapi ralat "NameError: nama 'x' tidak ditakrifkan" yang ditakuti. Isu ini timbul apabila pembolehubah yang dimasukkan pengguna, seperti 'x', tidak diiktiraf sebagai pembolehubah yang sah dalam kod Python.

Satu tanggapan salah yang biasa ialah input() harus digunakan untuk tujuan ini. Walau bagaimanapun, dalam Python 2.x, input() ialah fungsi yang menilai hujahnya dan melaksanakannya sebagai kod Python. Ini bermakna jika anda memasukkan rentetan seperti "Hello", ia akan cuba mentafsirkannya sebagai pernyataan Python, yang bukan yang anda maksudkan.

Untuk membetulkannya, anda harus menggunakan raw_input() sebaliknya, iaitu direka khusus untuk mendapatkan input pengguna dalam Python 2.x. raw_input() hanya mengembalikan rentetan yang dimasukkan, tanpa sebarang penilaian.

Kod Dibetulkan

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

Dengan pengubahsuaian ini, kod akan beroperasi dengan sempurna dalam Python 2.x , dan anda tidak akan menghadapi pengecualian 'NameError' lagi apabila menggunakan input pengguna.

Atas ialah kandungan terperinci Mengapa saya mendapat 'NameError: nama 'x' tidak ditakrifkan' selepas mendapat input pengguna dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan