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

print (UserInput)

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

4

2 回答 2

2

raw_input()函数总是返回一个字符串,它是这样记录的

然后该函数从输入中读取一行,将其转换为字符串(去除尾随的换行符),然后返回。

强调我的。

也许您正在寻找input()相反的东西?它评估作为 Python 表达式给出的输入,相当于eval(raw_input())

相当于eval(raw_input(prompt))

此函数不会捕获用户错误。如果输入在语法上无效,SyntaxError则会引发 a。如果评估期间出现错误,可能会引发其他异常。

如果您输入1,它将被解释为整数文字并type(UserInput)打印<type 'int'>.

于 2013-08-15T12:22:24.700 回答
0

您在第二行中缺少一个括号。要解决此问题,请尝试以下操作:

UserInput = raw_input('Enter something: ')
print(type(UserInput))
print(UserInput)
于 2020-04-06T23:27:51.437 回答