【问题标题】:Python | Expecting type INT, but if STR entered?蟒蛇 |期望类型 INT,但如果输入了 STR?
【发布时间】:2018-03-25 00:07:39
【问题描述】:

我要求用户输入整数类型。但是如果用户不小心输入了字符串类型,我希望它告诉用户他们错误地回答了问题。像这样:

question1 = int(input("Enter a number: "))
if question1 != int:
    print("Please enter a number.")
else:
     ...

请注意我是初学者,因此不了解期望样式编码。

感谢您的宝贵时间。

【问题讨论】:

  • 在您的if 语句中,您将question1(一个整数)与int(一个类型)进行比较。他们永远不会平等。

标签: python string python-3.x input integer


【解决方案1】:

您可以使用str.isdigit() 方法检查输入是否仅包含数字

question1 = input("Enter a number: ")
if question1.isdigit():
    question1= int(question1)
else:
     print("Not a number")

【讨论】:

    【解决方案2】:

    string 转换为integer 仅在字符串看起来像整数时才有效。

    其他任何事情都会引发ValueError

    我的建议是抓住这个ValueError 并适当地通知用户。

    try:
        question1 = int(input("Enter a number: "))
    except ValueError:
        print("That's not a number!")
    else:
        print("Congratulations - you followed the instructions")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 2018-08-24
      • 2020-05-17
      • 2020-06-05
      相关资源
      最近更新 更多