我正在尝试检查输入是单词还是数字。

var = input("var: ")

if isinstance(var, str):
    print "var = word"

else:
   print "var = number"


这是我想出的代码,但遗憾的是它不起作用。
我是python和程序设计的新手,所以我不知道很多命令,
任何建议将不胜感激^^

最佳答案

input()将接受并评估您的输入,然后再将其移交给您。也就是说,如果用户输入exit(),则您的应用程序将退出。从安全的角度来看,这是不希望的。您可能想使用raw_input()代替。在这种情况下,您可以期望返回的值是一个字符串。

如果仍然要检查字符串内容是否可以转换为(整数)数字,请按照此处讨论的方法进行操作:


How do I check if a string is a number (float) in Python?


简短概述:尝试将其转换为数字,然后查看是否失败。

示例(未试用):

value = raw_input()
try:
    int(value)
    print "it's an integer number"
except ValueError:
    print "it's a string"


以供参考:


https://docs.python.org/2/library/functions.html#int
https://docs.python.org/2/library/functions.html#input
https://docs.python.org/2/library/functions.html#raw_input


请注意,input()函数的语义随Python 3改变:


https://docs.python.org/3/library/functions.html#input

关于python - 如何在Python 2.x中检查输入是字符串还是整数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28486058/

10-12 12:43
查看更多