【发布时间】:2017-10-04 04:50:10
【问题描述】:
我正在尝试使用此程序处理来自函数外部的数字,但是当我运行该函数时,它将进入无限循环并且不会停止打印。
当我在打印命令后取出 inputNumber() 时它可以工作,但我需要在那里?
这是我的完整代码:
def inputNumber():
try:
print (userInput)
Number2 = ('%02d' % (int(userInput)))
print(Number2)
except ValueError:
print("Not an integer! Try again.")
inputNumber()
else:
if int(Number2)<=10:
#print("Correct")
if len(str(Number2))==2:
print("Number Is Good Continue")
else:
print("Try Again")
inputNumber()
else:
print("Score Must Be Within 01-10")
userInput = input("Input Score")
inputNumber()
不起作用的一点是,当我输入除整数以外的任何内容时,它应该说 “不是整数!再试一次。” 但它会循环。我怎么能解决这个问题,因为我看不出它会循环的任何原因。
我尝试过使用 break,但我认为它在 while 循环中不起作用?
【问题讨论】:
-
inputNumber方法本身应该负责调用input -
嗨,你能解释一下吗?
-
当用户输入错误时,您的代码应该让他们再试一次。但事实并非如此。查看Asking the user for input until they give a valid response 以获取有关重组代码的一些想法。
-
他的意思是每次调用
inputNumber()函数时,它也应该调用userInput。在 inputNumber() 中定义userInput -
谢谢,伙计们,我想我得在里面运行它,因为它的工作原理只是有点需要它出来,但是干杯!
标签: python python-3.6