代码之家  ›  专栏  ›  技术社区  ›  Theroarx

尝试在Python控制台中输入时出错[重复]

  •  0
  • Theroarx  · 技术社区  · 6 年前

    当我把

    input('Enter your name please: ')
    

    在控制台中,不会出现任何对话框,只会出现一个;?如果我输入一个单词,就会发生这种情况。 https://imgur.com/lQDIutR

    对不起,如果这是显而易见的,我是通过学习C++的一部分,然后切换到这个,它感觉如此不同和陌生,我很容易迷路。

    2 回复  |  直到 6 年前
        1
  •  0
  •   user2906838    6 年前

    我认为您在python2.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'
    >>> 
    

    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中的字符串输入。所以您需要在输入响应中引用字符串。

        2
  •  0
  •   blhsing    6 年前

    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'
    >>>