我正在编写一个提示输入整数并打印该整数的程序,但是如果输入的不是整数,该程序将不断要求输入整数。
我不知道如何正确重置它。我尝试了不同的方法,但是没有用。
到目前为止,这是我的代码:
inp = input ("Enter a Integer:")
while inp.isdigit():
print (inp)
break
else:
print ("Enter a Integer")
有人有建议吗?
答案 0 :(得分:1)
最好遵循pythons Ask forgiveness not permission策略:
while True:
try:
k = input("integer:") # gets a string
k = int(k) # tries integer conversion
break # if success: break while True loop
except ValueError:
print("Try again.") # int() failed
print(k) # print the output
输出:
integer:a
Try again.
integer:b
Try again.
integer:5
5
优点:即使对于负整数也可以使用,isdigit()
检查则无效。
异常处理:https://docs.python.org/3/tutorial/errors.html#handling-exceptions