【问题标题】:How to check if the input string is an integer如何检查输入字符串是否为整数
【发布时间】:2017-07-24 11:32:11
【问题描述】:
if input()==int():
    print('mission successful!')
else:
    print('mission failed!')

对于上面的代码,问题是,即使我的输入是整数,它也永远不会导致mission successful

我刚开始学习python。

【问题讨论】:

标签: string python-3.x int


【解决方案1】:

要检查输入字符串是否为数字,可以使用:

s = input()
if s.isnumeric() or (s.startswith('-') and s[1:].isdigit()):
    print('mission successful!')
else:
    print('mission failed!')

在 Python 中,检查字符串是否等于数字将始终返回 False。为了比较字符串和数字,首先将字符串转换为数字或将数字转换为字符串会有所帮助。例如:

>>> "1" == 1
False
>>> int("1") == 1
True

>>> 1 == "1"
False
>>> str(1) == "1"
True

如果字符串不能用int 转换为数字,则会抛出ValueError。你可以这样捕捉它:

try:
    int("asdf")
except ValueError:
    print("asdf is not an integer")

【讨论】:

  • 第一种方法对于负整数或浮点数失败
猜你喜欢
  • 1970-01-01
  • 2011-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-27
  • 2022-06-17
相关资源
最近更新 更多