初期格式
点击上传
X
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, in <module>
num = 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 <module>
num = int(input("Enter an integer number: "))
ValueError: invalid literal for int() with base 10: 'Hello'看到输出结果–如果我们输入一个整数值(RUN 1),则该程序运行正常,但是如果我们输入一个非整数(RUN 2,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...
看到输出结果–如果我们输入一个整数值(RUN 1),则该程序运行正常,但是如果输入了非整数(RUN 2,RUN3),则该程序的控制权转移到了except块并打印了我们的消息。在这里,我们已经处理了异常,但是仍然没有完成我们的任务。
下一步是什么?
我们需要接受输入,直到没有输入有效的整数值。为此,我们将使用while True(用于无限循环),并将输入输入直到有效整数。
参见下面的程序,
# 输入一个数字
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
最后,我们做到了。通过使用此方法,我们可以将限制设置为用户仅输入/接受整数。