«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему Python выдает ошибку «NameError: имя d не определено»?

Почему Python выдает ошибку «NameError: имя d не определено»?

Опубликовано 21 ноября 2024 г.
Просматривать:209

Why Does Python Throw a \

Ошибка Python: имя 'd' не определено

При изучении Python часто встречаются ошибки, которые сложно обнаружить. Рассмотрим следующий пример из Python 3 для начинающих:

Name = ""
Desc = ""
Gender = ""
Race = ""
# Prompt user for user-defined information
Name = input('What is your Name? ')
Desc = input('Describe yourself: ')

При выполнении этот код ожидает, что пользователь введет значение своего имени, которое он вводит как 'd'. Однако программа отвечает ошибкой:

NameError: name 'd' is not defined

Понимание ошибки:

В Python 2. x, функция input() рассматривает «d» как выражение Python, интерпретируя его как переменную с именем «d». Однако, поскольку 'd' не был определен в программе, он вызывает ошибку NameError.

Решение:

Чтобы устранить эту ошибку, рассмотрите два подхода:

1. Использование raw_input() в Python 2.x:

В Python 2.x raw_input() возвращает введенное значение как необработанную строку, предотвращая интерпретацию его как выражения.

# Python 2.x
Name = raw_input('What is your Name? ')

2. Обновление до Python 3.x:

В Python 3.x появилась унифицированная функция input(), которая ведет себя согласованно с raw_input() из Python 2.x. Следовательно, использование Python 3.x устранит необходимость в raw_input() в этом сценарии.

# Python 3.x
Name = input('What is your Name? ')
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3