📅  最后修改于: 2023-12-03 15:37:08.471000             🧑  作者: Mango
在编写程序时,有时候需要用户只能输入整数而不能输入其他类型的数据,比如小数、字符串、布尔值等。本文将介绍几种方法来实现这一功能。
使用int函数可以将输入的字符串强制转换为整数,如果输入的字符串不能转换为整数,则会抛出异常。可以利用这个特性来判断用户输入的是否为整数。
try:
num = int(input('请输入一个整数:'))
except ValueError:
print('只允许输入整数!')
上面的代码中,输入的字符串会被强制转换为整数,如果转换出错,则会抛出ValueError异常,这时可以通过异常处理来提醒用户只能输入整数。
正则表达式是一个强大的字符匹配工具,可以用来匹配各种类型的数据。对于整数而言,可以使用正则表达式来判断输入的字符串是否为纯数字。
import re
pattern = r'^\d+$'
string = input('请输入一个整数:')
if re.match(pattern, string):
num = int(string)
else:
print('只允许输入整数!')
上面的代码中,使用正则表达式的模式匹配函数re.match来判断输入的字符串是否符合纯数字的格式,如果符合,则将其转换为整数,否则提醒用户只能输入整数。
也可以使用循环判断的方式来实现只允许输入整数的功能,比如可以让用户重复输入,直到输入为整数为止。
while True:
string = input('请输入一个整数:')
if string.isdigit():
num = int(string)
break
else:
print('只允许输入整数!')
上面的代码中,使用了while循环来让用户重复输入,如果输入的字符串符合isdigit的条件(即纯数字),则将其转换为整数并退出循环,否则提醒用户只能输入整数。