繁体   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