Почему этот код дает мне NameError, когда я его запускаю?

Я завершаю ответ S.Lott.

Я бы сказал, пространство имен - это способ реализации управления именами внутри области видимости, потому что область действия больше, чем управление именами.

В C области действия имеют 4 типа: глобальный, функциональный, блок и функциональные параметры (прототип). Каждый из этих типов может создавать одно или несколько пространств имен, в зависимости от потребностей. В C-тегах есть 4 ns для s / u / e - идентификаторов для имен типов, имен функций и имен переменных - параметры внутри прототипа функции - члены и битовые поля внутри s / u.

Like что идентификаторы тегов и имена функций не сталкиваются, но typenames, определенные typedef, могут сталкиваться с именами переменных.

В python имеется встроенное пространство имен, которое охватывает глобальные ns, а глобальные ns предоставляются загруженный модуль. Встроенные переменные содержат переменные. Символ для переменной может определять объект или функцию - например, здесь определяется +. Глобальные ns модуля продолжаются до завершения.

См. Также , что и, конечно, , что .

0
задан Georgy 16 January 2019 в 09:16
поделиться

3 ответа

Попробуйте заменить эти строки:

random_index = random.randrange(len(enemies))

x = random.randint(0, 5)
0
ответ дан Manoj Vadehra 16 January 2019 в 09:16
поделиться

Сгенерирована ошибка: NameError: имя 'randrange' не определено

random_index = randrange(len(enemies))

должно быть

random_index = random.randrange(len(enemies))

Аналогично:

x = randint(0,5)

должно быть

x = random.randint(0,5)

В качестве альтернативы, вы также можете добавить приведенный ниже оператор в строку импорта:

from random import randrange, randint
0
ответ дан Jay 16 January 2019 в 09:16
поделиться

Просто добавьте вверху вашего кода следующую строку

from random import randrange, randint 
0
ответ дан Loss of human identity 16 January 2019 в 09:16
поделиться
Другие вопросы по тегам:

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