关于“ print(input(“ input:\ n”))“的问题

时间:2019-08-16 17:01:36

标签: python python-3.x

所以我最近决定返回python,但是我发现

print(input("input:\n"))

返回:

input:

3 + 4

7

这怎么可能?我以为,当您使用input()时,总会得到一个字符串。

2 个答案:

答案 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()将使用它来提供详细的行编辑和历史记录功能。