Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ralat Python: NameError: nama 'xxx' tidak ditakrifkan, bagaimana untuk menyelesaikannya?

Ralat Python: NameError: nama 'xxx' tidak ditakrifkan, bagaimana untuk menyelesaikannya?

WBOY
WBOYasal
2023-08-19 12:05:0010448semak imbas

Python报错:NameError: name 'xxx' is not defined,如何解决?

Ralat Python: NameError: nama 'xxx' tidak ditakrifkan, bagaimana untuk menyelesaikannya?

Apabila pengaturcaraan dalam Python, kadangkala kita menghadapi ralat "NameError: nama 'xxx' tidak ditakrifkan". Ralat ini biasanya disebabkan oleh penggunaan pembolehubah atau fungsi yang tidak ditentukan. Kunci untuk menyelesaikan ralat ini adalah untuk mengetahui punca masalah dan mengambil penyelesaian yang sesuai. Artikel ini akan menggambarkan cara menyelesaikan masalah ini melalui contoh kod tertentu.

Katakan kita mempunyai kod Python berikut:

def calculate_average(numbers):
    total = sum(numbers)
    average = total / len(numbers)
    return average

scores = [85, 90, 92, 88]
average_score = calculate_average(scores)
print("The average score is:", average_score)
print("The minimum score is:", min_score)

Dalam kod ini, kita mentakrifkan fungsi yang dipanggil calculate_average, yang menerima senarai nombor sebagai parameter, mengira purata dan mengembalikannya. Kemudian, kami mentakrifkan senarai yang dipanggil skor dan menghantarnya sebagai parameter kepada fungsi calculate_average, memperuntukkan purata yang dikembalikan kepada pembolehubah average_score code>. Akhir sekali, kami mencetak skor purata dan skor terendah. <code>calculate_average的函数,它接受一个数字列表作为参数,计算出平均值并返回。然后,我们定义了一个名为scores的列表,并将它作为参数传递给calculate_average函数,将返回的平均值赋给变量average_score。最后,我们打印出平均分数和最低分。

然而,当我们运行这段代码时,会出现以下的错误信息:

NameError: name 'min_score' is not defined

这个错误发生在最后一行的打印语句中。出错的原因是变量min_score在代码中并没有被定义。为了解决这个错误,我们需要确保变量min_score在使用之前已经被正确地定义。

一种解决方法是在代码中添加一行来定义变量min_score,并将它初始化为列表scores中的最低分数。修改后的代码如下所示:

def calculate_average(numbers):
    total = sum(numbers)
    average = total / len(numbers)
    return average

scores = [85, 90, 92, 88]
average_score = calculate_average(scores)
min_score = min(scores)  # 添加了这行代码
print("The average score is:", average_score)
print("The minimum score is:", min_score)

通过添加min_score = min(scores)这一行,我们定义了变量min_score并将其初始化为scores

Walau bagaimanapun, apabila kami menjalankan kod ini, mesej ralat berikut muncul:

rrreee

Ralat ini berlaku pada baris terakhir kenyataan cetakan. Sebab ralat ialah pembolehubah min_score tidak ditakrifkan dalam kod. Untuk menyelesaikan ralat ini, kami perlu memastikan bahawa pembolehubah min_score ditakrifkan dengan betul sebelum menggunakannya.

Satu penyelesaian ialah menambah baris pada kod untuk mentakrifkan pembolehubah min_score dan memulakannya kepada skor terendah dalam senarai skor. Kod yang diubah suai kelihatan seperti ini: 🎜rrreee🎜Dengan menambahkan baris min_score = min(scores), kami mentakrifkan pembolehubah min_score dan memulakannya kepada skor kod>Skor terendah dalam senarai. Sekarang, apabila kami menjalankan kod itu sekali lagi, kami tidak akan menemui ralat "NameError: nama 'min_skor' tidak ditakrifkan". 🎜🎜Untuk meringkaskan, apabila menghadapi ralat "NameError: nama 'xxx' tidak ditakrifkan", kita perlu menyemak sama ada pembolehubah atau fungsi dalam kod ditakrifkan dengan betul. Jika ia tidak ditakrifkan, kita perlu mentakrifkannya sebelum menggunakannya dan pastikan ejaan dan huruf besar bagi pembolehubah atau nama fungsi adalah betul. Hanya dengan cara ini kami boleh berjaya menyelesaikan ralat ini dan membiarkan kod kami berjalan seperti biasa. 🎜🎜Saya harap melalui contoh ini, anda akan mempunyai pemahaman yang lebih mendalam tentang cara menyelesaikan ralat "NameError: nama 'xxx' tidak ditakrifkan". Dalam proses pengaturcaraan, kesilapan adalah perkara biasa. Jangan putus asa apabila anda menghadapi kesilapan Bersabar untuk mencari masalah dan terus meningkatkan kemahiran anda melalui pembelajaran. Mari bekerja keras bersama-sama dalam perjalanan ke pengaturcaraan! 🎜

Atas ialah kandungan terperinci Ralat Python: NameError: nama 'xxx' tidak ditakrifkan, bagaimana untuk menyelesaikannya?. 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