检查用户输入是否是 Python 中的数字

在 Python 中检查用户输入是否为数字

Check if user input is a Number in Python

使用try/except语句检查用户输入是否为数字。如果输入值为数字,则该try块完成运行,否则将
ValueError引发一个可以在except块中处理的a。

主程序
# ✅ Check if user input is number (try/except statement) num = input('Enter your favorite number: ') try: num = float(num) print(num) except ValueError: print('The provided value is not a number') # ----------------------------------------- # ✅ Keep prompting the user until they enter a number (while loop) num = 0 while True: try: num = int(input("Enter your favorite integer: ")) except ValueError: print("Please enter a valid integer") continue else: print(f'You entered: {num}') break

第一个示例使用try/except语句检查输入值是否为有效数字。

使用不是有效数字的值调用float()或类会引发.int()ValueError

主程序
num = input('Enter your favorite number: ') try: num = float(num) print(num) except ValueError: print('The provided value is not a number')

检查输入是否为数字

如果用户输入一个数字,该try块将完成并且该except块不会运行。

如果提供的值不是有效数字,则except块运行。

如果您只需要检查用户输入是否为有效整数,请使用int()
该类进行转换。

主程序
num = input('Enter your favorite integer: ') try: num = int(num) print(num) except ValueError: print('The provided value is not an integer')

或者,您可以使用该str.isdigit()方法。

使用 str.isdigit() 检查用户输入是否为数字

使用该str.isdigit()方法检查用户输入是否为数字,例如
if num.isdigit():isdigit()方法将返回True所有正整数值和False所有非数字、浮点数或负数。

主程序
num = input('Enter your favorite number: ') if num.isdigit(): print('Provided value is a valid number') num = int(num) print(num) else: print('Provided value is not a number, is a negative number or a float')

str.isdigit
方法返回如果
字符串True中的所有字符都是数字并且至少有 1 个字符,否则False返回。

主程序
print('567'.isdigit()) # 👉️ True print('3.14'.isdigit()) # 👉️ False print('-5'.isdigit()) # 👉️ False

请注意,该str.isdigit()方法返回False浮点数(它们包含句点)和负数(它们包含减号)。

您应该只使用这种方法来检查用户输入是否为有效整数。

while如果您需要一直提示用户直到他们输入有效数字,您可以使用循环。

不断询问用户输入,直到输入数字为止

该示例使用while True循环来不断迭代,直到用户输入有效数字。

主程序
num = 0 while True: try: num = int(input("Enter your favorite integer: ")) except ValueError: print("Please enter a valid integer") continue else: print(f'You entered: {num}') break

不断要求输入直到给出有效数字

如果块中的代码try引发 a ValueError,则except块运行,我们使用该continue语句继续下一次迭代。

如果用户输入了一个有效的数字,try块成功完成,然后else块运行,我们使用break语句退出
while循环。

continue语句继续循环的下一次迭代。

break
语句跳出最内层的封闭

for循环while

发表评论