编写一个提示输入整数并打印int的程序,如果输入了其他任何内容,请再次询问直到输入整数

时间:2018-10-31 19:43:03

标签: python

我正在编写一个提示输入整数并打印该整数的程序,但是如果输入的不是整数,该程序将不断要求输入整数。

我不知道如何正确重置它。我尝试了不同的方法,但是没有用。

到目前为止,这是我的代码:

inp = input ("Enter a Integer:")
while inp.isdigit():
    print (inp)
    break
else:
    print ("Enter a Integer")

有人有建议吗?

1 个答案:

答案 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