打印类型(示例)始终返回字符串

时间:2013-08-15 12:20:38

标签: python input types

UserInput = raw_input('Enter something: ')
print type(UserInput)

print (UserInput)

这是一段非常简单的代码,可以告诉我输入输入的类型。例如int或bool。出于某种原因,它总是以字符串形式出现。让我说当我被提示“输入东西”时,我输入“1”(没有引号)。那应该返回int类型。我认为问题在于UserInput是一个字符串“raw_input('Enter something:')”。如何修复脚本以返回用户给我的输入类型?我正在使用python 2.7

2 个答案:

答案 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)