[英]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.