解决此问题的一种方法是绘制流程流程图,以了解为什么在您不希望发生循环的情况下发生循环。在
有点简化,您有inputNumber()>;inputNumber()
在inputNumber()函数中,函数本身可能会被调用两次:
8号线
17号线
然后,函数本身将重新启动。此外,一旦内部函数解析,解释器将返回到函数调用结束的位置,并继续到程序的结尾。在
请参阅我的评论:def inputNumber(): # Define what happens when you call inputNumber()
try:
print (userInput)
Number2 = ('%02d' % (int(userInput)))
print(Number2)
except ValueError:
print("Not an integer! Try again.")
inputNumber() # Call inputNumber()
else:
if int(Number2)<=10:
#print("Correct")
if len(str(Number2))==2:
print("Number Is Good Continue")
else:
print("Try Again")
inputNumber() # Call inputNumber()
else:
print("Score Must Be Within 01-10")
userInput = input("Input Score")
inputNumber() # Call inputNumber
这被称为递归,在某些内存限制的特定上下文中可能是一个有用的应用程序,但它通常是一个应该在更高级级别引入的概念,除非非常特定的问题需要递归。在