Dalam dunia pengaturcaraan Python, pengekod sering menemui mesej ralat misterius "NameError: name 'd' tidak ditakrifkan." Untuk menguraikan maksudnya, mari kita mulakan penerokaan ralat yang membingungkan ini.
Dalam Python 2.x, apabila menggunakan fungsi input(), penterjemah mengharapkan ungkapan Python. Sebagai contoh, jika pengguna memasukkan "d," ia mentafsir ini sebagai pembolehubah bernama 'd'. Walau bagaimanapun, jika pengguna memasukkan "d" yang disertakan dalam tanda petikan, ralat akan dielakkan.
Isu asas berpunca daripada perbezaan dalam versi Python. Sampel kod yang anda berikan menunjukkan bahawa anda menggunakan versi 2.x. Untuk versi ini, fungsi raw_input() adalah lebih sesuai. Ia mengembalikan input pengguna sebagai rentetan mentah, menghalang tafsiran sebagai ungkapan.
Untuk menyelesaikan ralat ini, disyorkan untuk beralih kepada Python 3.x. Dengan berbuat demikian, anda akan menyelaraskan dengan versi yang digunakan dalam buku teks yang anda rujuk dan mengelakkan masalah yang disebutkan di atas. Fungsi input() Python 3.x mengendalikan input pengguna dengan lancar sebagai rentetan, menghapuskan keperluan untuk raw_input().
Atas ialah kandungan terperinci Mengapa saya mendapat ralat \'NameError: name \'d\' is not definition\' dalam Python 2.x?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!