尝试在Python控制台中输入时出错

时间:2018-07-26 05:25:20

标签: python input

当我放

input('Enter your name please: ')

在控制台中,仅出现一个对话框,不会出现对话框?在我输入单词的地方,就会发生这种情况。 https://imgur.com/lQDIutR

很抱歉,如果这很明显,我正处于学习C ++的过程中,然后又切换到了这个过程,感觉如此与众不同,我很容易迷路。

编辑:我正在使用IDE PyCharm。

2 个答案:

答案 0 :(得分:0)

我认为您使用的是python 2.7,这就是您看到错误的原因。

这是详细信息:

Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> input('Enter your name please: ')
Enter your name please: hi
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'hi' is not defined

但是,如果您确保在输入时引用输入内容,则可以使用。

>>> input('Enter your name please: ')
Enter your name please: "My name is" 
'My name is'
>>> 

这是同一控制台,现在可以正常工作。这是python2的预期行为。但是,如果您在python3中执行相同操作,则可以正常工作。

Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> input('Enter your name please: ')
Enter your name please: hi
'hi'
>>> 

您不需要引用python3中输入的字符串。因此,您需要在输入响应中引用字符串。

答案 1 :(得分:0)

在Python 2.7中,您需要使用raw_input()而不是input(),以便您输入的内容不会被评估为Python表达式。

>>> input('Enter your name please: ')
Enter your name please: hi
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'hi' is not defined
>>> raw_input('Enter your name please: ')
Enter your name please: hi
'hi'
>>>