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()
谢谢,感谢任何帮助!
答案 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()
或在函数
之外声明它