ошибка в Python d не определенный. [дубликат]

13
задан gsamaras 7 February 2016 в 00:46
поделиться

3 ответа

В Python 2.x input () ожидает что-то, что является выражением Python, что означает, что если вы наберете d , он интерпретирует это как переменную ] по имени д. Если вы наберете «d» , то все будет в порядке.

То, что вам, вероятно, действительно нужно для 2.x, - это raw_input () , который возвращает введенное значение в виде необработанной строки, а не оценивает его.

Поскольку у вас такое поведение, похоже, вы используете версию интерпретатора Python 2.x - вместо этого я бы пошел на www.python.org и загрузил Python 3.x, чтобы он соответствовал книге, которую вы используете.

19
ответ дан 1 December 2019 в 21:52
поделиться

Вы, вероятно, используете Python 2.x, где input будет eval пользовательский ввод. Только в Python 3.x input () возвращает необработанный пользовательский ввод.

Вы можете проверить версию Python, запустив python в консоли, например это Python 2.6:

~$ python
Python 2.6.5 (r265:79063, Apr  5 2010, 00:18:33) 
[GCC 4.2.1 (Apple Inc. build 5659)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Вы можете запустить определенную версию Python (например, 3.1) с помощью python3.1 :

~$ python3.1
Python 3.1.1 (r311:74480, Jan 25 2010, 15:23:53) 
[GCC 4.2.1 (Apple Inc. build 5646) (dot 1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
4
ответ дан 1 December 2019 в 21:52
поделиться

В Python 3.0 и выше, чему учит книга, которую вы используете, input () делает то, что raw_input () в Python 2, так что в этом случае код будет правильным; однако похоже, что вы используете старую версию Python (2.6?).

Я бы порекомендовал зайти на сайт Python и вместо этого загрузить последнюю версию Python 3, чтобы вам было легче читать книгу.


Непосредственная проблема, учитывая, что вы используете Python 2, заключается в том, что вы используете input () , который оценивает все, что вы ему передаете. Что вы хотите сделать, так это получить необработанную строку, которую вводит пользователь:

Name = raw_input("What is your Name? ")

Между Python 3.x и 2.x есть много небольших различий, поэтому обязательно приобретите последнюю версию Python 3, если вы хотите продолжать использовать Python 3 для абсолютных новичков .

1
ответ дан 1 December 2019 в 21:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: