尝试检查用户输入是否为整数,然后运行while循环

2024-05-03 14:28:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在为我的compsci课程做作业,其中一个要求是,如果用户输入不是整数,则打印错误消息并退出程序。我曾尝试将isnumeric()运算符与if语句结合使用,但如果您(例如)在int(input)语句中键入一个非整数,则会产生相同的错误。 任务要求我们让用户输入数字,将其添加到列表中,直到输入0,然后打印所有列表项的总和

This is my current code attempting to utilize isnumeric()


Tags: 用户程序消息列表inputif错误运算符
2条回答

试试这个,代码将循环,直到您输入一个整数

while True:
    try:
        number= int(input("Give me a number? "))
        break
    except:
        print("Invalid input!")
print(f"The number is: {number}")

如果输入字母或数字,则错误消息应不同。 第一次是这样的:

AttributeError: 'int' object has no attribute 'isnumeric'

第二种情况是:

ValueError: invalid literal for int() with base 10: 'q'

尝试从以下内容中得出所需的解决方案:

user_input = input ("Enter your Age")
try:
    val = int(user_input)
    print("Input is an integer number. Number = ", val)
except ValueError:
    print("That was not a number, at all.")

在python中,异常是处理问题的好方法

相关问题 更多 >