UserInput = raw_input('Enter something: ')
print type(UserInput)
print (UserInput)
这是一段非常简单的代码,可以告诉我输入输入的类型。例如int或bool。出于某种原因,它总是以字符串形式出现。让我说当我被提示“输入东西”时,我输入“1”(没有引号)。那应该返回int类型。我认为问题在于UserInput是一个字符串“raw_input('Enter something:')”。如何修复脚本以返回用户给我的输入类型?我正在使用python 2.7
答案 0 :(得分:1)
raw_input()
函数始终返回一个字符串,它是documented as such:
然后该函数从输入中读取一行,将其转换为字符串(剥离尾随换行符),然后返回该行。
强调我的。
也许您正在寻找input()
?它评估作为Python表达式给出的输入,相当于eval(raw_input())
:
相当于
eval(raw_input(prompt))
。此功能不会捕获用户错误。如果输入不是 在语法上有效,将引发
SyntaxError
。其他例外 如果评估过程中出现错误,可能会被提出。
如果您输入了1
,则会将其解释为整数字面值,type(UserInput)
将打印<type 'int'>
。
答案 1 :(得分:0)
您在第二行中缺少括号。要解决此问题,请尝试以下操作:
UserInput = raw_input('Enter something: ')
print(type(UserInput))
print(UserInput)