要求用户在Python中输入整数| 限制用户仅输入整数值
input()函数可以用于输入,但是它将值读取为字符串,然后我们可以使用该int()函数将字符串值转换为整数。
考虑下面的程序,
#输入一个数字 num = int(input("Enter an integer number: ")) print("num:", num)
输出
RUN 1: Enter an integer number: 10 num: 10 RUN 2: Enter an integer number: 12.5 Traceback (most recent call last): File "main.py", line 2, innum = int(input("Enter an integer number: ")) ValueError: invalid literal for int() with base 10: '12.5' RUN 3: Enter an integer number: Hello Traceback (most recent call last): File "main.py", line 2, in num = int(input("Enter an integer number: ")) ValueError: invalid literal for int() with base 10: 'Hello'
看到输出结果–如果我们输入一个整数值(RUN1),则该程序运行正常,但是如果我们输入一个非整数(RUN2,RUN3)的程序,则返回ValueError。
下一步是什么?
为了处理ValueError,我们可以使用try-except语句。
参见下面的程序,
#输入一个数字 try: num = int(input("Enter an integer number: ")) print("num:", num) except ValueError: print("Please input integer only...")
输出
RUN 1: Enter an integer number: 10 num: 10 RUN 2: Enter an integer number: 12.5 Please input integer only... RUN 3: Enter an integer number: Hello Please input integer only...
看到输出结果–如果我们输入一个整数值(RUN1),则该程序运行正常,但是如果输入了非整数(RUN2,RUN3),则该程序的控制权转移到了except块并打印了我们的消息。在这里,我们已经处理了异常,但是仍然没有完成我们的任务。
下一步是什么?
我们需要接受输入,直到没有输入有效的整数值。为此,我们将使用whileTrue(用于无限循环),并将输入输入直到有效整数。
参见下面的程序,
限制用户仅输入整数值的程序
#输入一个数字 while True: try: num = int(input("Enter an integer number: ")) break except ValueError: print("Please input integer only...") continue print("num:", num)
输出
Enter an integer number: 12.5 Please input integer only... Enter an integer number: Hello world Please input integer only... Enter an integer number: Ten Please input integer only... Enter an integer number: Twenty Four Please input integer only... Enter an integer number: 24 num: 24
最后,我们做到了。通过使用此方法,我们可以将限制设置为用户仅输入/接受整数。