簡體   English   中英

獲取 NameError 但我的變量已定義

[英]Getting an NameError but my variable is defined

我不知道為什么會收到此錯誤

NameError: 名稱 'len_num' 未定義

def is_armstrong_number(num):
#Convert number to string
    num_str = str(num)
#Get length of number
    len_num = len(num_str)
#Select each number in string and store it in list
for x in range(1,len_num):
    num_list.insert(x,num_str[x])
#Convert back to int
    int(num_list)
#Compare armstrong number and list
for x in range(1,len_num):
   if num == num_list(x) ** len_num:
    print("It is an armstrong number")
else: print("It is not an armstrong number")
pass  

len_num 是 function 的本地名稱,因此我看不到該名稱的問題,因為它是在使用之前定義的。

您的問題可能與身份有關。 與我的代碼進行比較:

def is_armstrong_number(num):
    #Convert number to string
    num_str = str(num)
    #Get length of number
    len_num = len(num_str)
    #Select each number in string and store it in list
    for x in range(1,len_num):
        num_list.insert(x,num_str[x])
    #Convert back to int
        int(num_list)
    #Compare armstrong number and list
    for x in range(1,len_num):
       if num == num_list(x) ** len_num:
        print("It is an armstrong number")
    else: print("It is not an armstrong number")
    pass

is_armstrong_number(2)
# Output
# It is not an armstrong number
~                      

運行后我沒有收到錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM