要求用户在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, 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

最后,我们做到了。通过使用此方法,我们可以将限制设置为用户仅输入/接受整数

初期格式