在 Python 中检查输入是否为整数
在编程的世界中,我们经常与用户的输入打交道。Python 具有可用的 input()
函数,该函数允许用户输入所需的输入。有时我们可能需要特定类型的输入。
但是,此函数在将其输入到程序中之前将用户的输入转换为字符串。因此,使用传统方法通过用户输入来检查特定类型并不简单,并且我们必须检查字符串是否本质上包含数字。
在本教程中,我们将讨论如何检查用户输入的输入是否为整数类型。
使用 int()
函数检查输入是否为 Python 中的整数
int()
函数可以将给定的字符串整数值转换为整数类型。如果所需值不是整数并且无法转换,则会引发错误。我们可以使用此方法检查用户的字符串是否为整数,如下所示。
user_input = input("Enter the input ")
try:
int(user_input)
it_is = True
except ValueError:
it_is = False
print(it_is)
输出:
Enter the input 15
True
注意在此方法中使用 try...except
块。在 Python 中处理异常时,它非常频繁地使用。
使用 isnumeric()
方法检查输入是否为整数
如果字符串的 isnumeric()
方法仅包含数字,则返回 True
。但是,值得注意的是,对于负值,它是失败的。这是因为当遇到负整数中的 -
符号时,它会自动返回 False
。
下面的代码展示了我们如何在 Python 中使用这个函数来检查一个字符串是否包含整数。
user_input = input("Enter the input ")
print(user_input.isnumeric())
输出:
Enter the input 10
True
我们也可以使用 isdigit()
函数代替 isnumeric()
;它也有与此方法相同的局限性。
Python 中使用正则表达式来检查输入是否为整数
我们还可以使用正则表达式创建一个模式,该模式在遇到字符串中的整数时将返回 True
。我们还可以修改模式以确保它适用于负值。例如,
import re
user_input = input("Enter the input ")
num_format = re.compile(r"^\-?[1-9][0-9]*$")
it_is = re.match(num_format, user_input)
if it_is:
print("True")
else:
print("False")
输出:
Enter the input -15
True
以下是正则表达式模式的解释-^\-?[1-9][0-9]*$
。
^
是字符串的开头\-?
表示此数字可以是负数或正数。[1-9]
是数字的第一位。它必须是 1 到 9 之间的数字,但不能为 0。[0-9]*
表示随后的数字。数字的数量可以是任意的,也包括 0。$
是字符串的结尾。
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn相关文章 - Python String
- 在 Python 中从字符串中删除逗号
- 在 Python 中将字符串转换为变量名
- Python 如何去掉字符串中的空格/空白符
- 如何在 Python 中从字符串中提取数字
- Python 如何将字符串转换为时间日期 datetime 格式
- Python2 和 3 中如何将(Unicode)字符串转换为小写