gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 17:24:29 25 4
gpt4 key购买 nike

有没有一种方法可以用来检查 raw_input 是否为整数?

在网上查了下这个方法:

print isinstance(raw_input("number: ")), int)

但是当我运行它并输入 4 时,我得到了 FALSE。我是 python 的新手,我们将不胜感激。

最佳答案

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

使用 try: int(...) ... 除了 ValueError:

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

或使用 str.isdigit :

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

注意 第二个为 -4 产生 False 因为它包含非数字字符。如果您只需要数字,请使用第二个。

更新 正如 J.F. Sebastian 指出的那样,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 - 如何检查 python 2.7 中的原始输入是否为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19440952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com