繁体   English   中英

为什么我运行该代码时会给我一个NameError?

[英]Why does this code give me a NameError when I run it?

我正在尝试用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?")

我总是会遇到错误,我不知道该如何解决。

引发错误: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

尝试替换这些行:

random_index = random.randrange(len(enemies))

x = random.randint(0, 5)

只需在代码顶部添加以下行

from random import randrange, randint 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM