NameError:name' num1未定义

时间:2016-06-29 13:08:22

标签: python python-3.x

line 24, in <module>
    if not num1.isdigit():
NameError: name 'num1' is not defined
>>> 

表示正在显示的错误,我相信这是导致它的部分(我必须将括号括起来&lt; 3):

def main1(self):
    num1 = input("Enter a number: ")
if not num1.isdigit():
     print("Please enter a valid number")
     main1()

main1()

def main2(self):
    num2 = input("Enter a number: ")
if not num2.isdigit():
    print("Please enter a valid number")
    main2()

main2()

谢谢,感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

您的条件没有正确缩进。它们不在函数定义中,所以它们会在num1 = ...有机会运行之前立即执行。

尝试:

def main1(self):
    num1 = input("Enter a number: ")
    if not num1.isdigit():
         print("Please enter a valid number")
         main1()

main1()

def main2(self):
    num2 = input("Enter a number: ")
    if not num2.isdigit():
        print("Please enter a valid number")
        main2()

main2()

答案 1 :(得分:1)

你的num1具有该函数的本地范围,因此如果你想使用它,你必须正确缩进:

def main1(self):
    num1 = input("Enter a number: ")

    if not num1.isdigit():
         print("Please enter a valid number")
main1()

或在函数

之外声明它