在 Python 中检查用户输入是否为整数
Check if user input is an Integer in Python
使用try/except
语句检查用户输入是否为整数。如果输入值为整数,则try
块完成运行,否则
ValueError
引发 a 可以在except
块中处理。
主程序
# ✅ Check if user input is an integer (try/except) integer = input('Enter an integer: ') try: integer = int(integer) print(integer) except ValueError: print('The provided value is not an integer') # ----------------------------------------- # ✅ Keep prompting the user until they enter an integer (while loop) integer = 0 while True: try: integer = int(input("Enter an integer: ")) except ValueError: print("Please, enter a valid integer") continue else: print(f'You entered: {integer}') break
第一个示例使用try/except
语句检查输入值是否为有效整数。
int()
如果我们向类
传递一个不是有效整数的值,ValueError
则会引发 a 。
主程序
integer = input('Enter an integer: ') try: integer = int(integer) print(integer) except ValueError: print('The provided value is not an integer')
如果用户输入一个整数,try
块完成并且except
块不运行。
如果提供的值不是有效整数,该except
块将运行。
或者,您可以使用该str.isdigit()
方法。
使用 str.isdigit() 检查用户输入是否为整数
使用该str.isdigit()
方法检查用户输入是否为整数。该
isdigit()
方法将返回True
所有正整数值和
False
所有非数字、浮点数或负数。
主程序
integer = input('Enter an integer: ') if integer.isdigit(): print('Provided value is an integer') integer = int(integer) print(integer) else: print('Provided value is not an integer')
str.isdigit
方法返回如果字符串True
中的所有字符都是数字并且至少有 1 个字符,否则False
返回。
主程序
print('100'.isdigit()) # 👉️ True print('1.5'.isdigit()) # 👉️ False print('-100'.isdigit()) # 👉️ False
请注意,该str.isdigit()
方法返回False
负整数和浮点数。
这是因为负整数包含负号,而浮点数包含句点。
您应该只使用这种方法来检查用户输入是否为正整数。
while
如果您需要不断提示用户直到他们输入有效整数,您可以使用循环。
不断询问用户输入,直到输入一个整数
下面的示例使用一个while True
循环来不断迭代,直到用户输入一个有效的整数。
主程序
integer = 0 while True: try: integer = int(input("Enter an integer: ")) except ValueError: print("Please, enter a valid integer") continue else: print(f'You entered: {integer}') break
如果块中的代码try
引发 a ValueError
,则except
块运行,我们使用该continue
语句继续下一次迭代。
如果用户输入一个有效的整数,try
块成功完成,然后else
块运行,我们使用break
语句退出
while
循环。
该continue
语句继续循环的下一次迭代。
break
语句跳出最内层的封闭或
for
循环while
。