您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何检查python 2.7中的原始输入是否为整数?

如何检查python 2.7中的原始输入是否为整数?

isinstance(raw_input("number: ")), int)总是产生,False因为raw_input返回字符串对象。

用途try: int(...) ... except ValueError

number = raw_input("number: ")
try:
    int(number)
except ValueError:
    print False
else:
    print True

或使用str.isdigit

print raw_input("number: ").isdigit()

第二个之所以产生False-4是因为它包含非数字字符。如果只需要数字,请使用第二个数字。

作为JF塞巴斯蒂安指出,str.isdigit语言环境相关(Windows)中。它可能返回,True甚至int()会引发输入的ValueError。

>>> import locale
>>> locale.getpreferredencoding()
'cp1252'
>>> '\xb2'.isdigit()  # SUPERSCRIPT TWO
False
>>> locale.setlocale(locale.LC_ALL, 'Danish')
'Danish_Denmark.1252'
>>> '\xb2'.isdigit()
True
>>> int('\xb2')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '\xb2'
python 2022/1/1 18:39:12 有245人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶