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