Почему этот код дает мне NameError, когда я его запускаю? - PullRequest
0 голосов
/ 16 января 2019

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

Это то, что я имею до сих пор:

import time   
import random    

battle_chance = 3    
enemies = ['A hoard of Goblins', 'A skeleton army',  'A large troll']
random_index = randrange(len(enemies))

def init_battle():
    while True:
        x = randint(0,5)
        time.sleep(2)
        if x == battle_chance:
            print(enemies[random_index], "Has approached you.\nWhat do you do?")

Я всегда получаю сообщение об ошибке и не могу понять, как ее исправить.

Ответы [ 3 ]

0 голосов
/ 16 января 2019

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

random_index = random.randrange(len(enemies))

x = random.randint(0, 5)
0 голосов
/ 16 января 2019

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

from random import randrange, randint 
0 голосов
/ 16 января 2019

Сгенерирована ошибка: 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
...