所以我最近决定返回python,但是我发现
print(input("input:\n"))
返回:
input:
3 + 4
7
这怎么可能?我以为,当您使用input()时,总会得到一个字符串。
答案 0 :(得分:2)
这是Python 2中的行为。请参见here:
input([prompt])
等效于eval(raw_input(prompt))
。
在Python 3中,input
被删除,Python 2的raw_input
重命名为input
。
因此,请确保您使用的是正确的Python版本,并确保根据选择的Python版本使用适当的input
/ raw_input
函数。
答案 1 :(得分:0)
我尝试提供了代码,结果得到字符串“ 3 + 7”。
Python Docs on Input Method所说的
输入([提示])
如果存在提示参数,则将其写入标准输出而无需尾随换行符。然后,该函数从输入中读取一行,将其转换为字符串(将尾随换行符分隔),然后将其返回。读取EOF时,引发 EOFError 。示例:
>>> s = input('--> ')
--> Monty Python's Flying Circus
>>> s
"Monty Python's Flying Circus"
如果readline模块已加载,则input()将使用它来提供详细的行编辑和历史记录功能。