📜  只允许整数输入颤动 (1)

📅  最后修改于: 2023-12-03 15:37:08.471000             🧑  作者: Mango

只允许整数输入

在编写程序时,有时候需要用户只能输入整数而不能输入其他类型的数据,比如小数、字符串、布尔值等。本文将介绍几种方法来实现这一功能。

1. 使用int函数

使用int函数可以将输入的字符串强制转换为整数,如果输入的字符串不能转换为整数,则会抛出异常。可以利用这个特性来判断用户输入的是否为整数。

try:
    num = int(input('请输入一个整数:'))
except ValueError:
    print('只允许输入整数!')

上面的代码中,输入的字符串会被强制转换为整数,如果转换出错,则会抛出ValueError异常,这时可以通过异常处理来提醒用户只能输入整数。

2. 使用正则表达式

正则表达式是一个强大的字符匹配工具,可以用来匹配各种类型的数据。对于整数而言,可以使用正则表达式来判断输入的字符串是否为纯数字。

import re

pattern = r'^\d+$'
string = input('请输入一个整数:')
if re.match(pattern, string):
    num = int(string)
else:
    print('只允许输入整数!')

上面的代码中,使用正则表达式的模式匹配函数re.match来判断输入的字符串是否符合纯数字的格式,如果符合,则将其转换为整数,否则提醒用户只能输入整数。

3. 使用循环判断

也可以使用循环判断的方式来实现只允许输入整数的功能,比如可以让用户重复输入,直到输入为整数为止。

while True:
    string = input('请输入一个整数:')
    if string.isdigit():
        num = int(string)
        break
    else:
        print('只允许输入整数!')

上面的代码中,使用了while循环来让用户重复输入,如果输入的字符串符合isdigit的条件(即纯数字),则将其转换为整数并退出循环,否则提醒用户只能输入整数。