IndexError:列表分配索引超出范围 Python 3

zwe*_*rg4 5 python arrays pycharm python-3.x index-error

有人知道为什么我在这段代码中得到一个 IndexError 吗?

            global gegner
            global gegnerhp
            gegner = []
            gegberhp = []



            for i in range(1,anzahlgegner):
                random = randint(1,5)
                if random == 1:
                    gegner[i] = "goblin"
                    gegnerhp[i] = randint(10,50)
                elif random == 2:
                    gegner[i] = "ghost"
                    gegnerhp[i] = randint(10,50)
                elif random == 3:
                    gegner[i] = "hound"
                    gegnerhp[i] = randint(10,50)
                elif random == 4:
                    gegner[i] = "wolf"                        #LINE 147
                    gegnerhp[i] = randint(10,50)
                elif random == 5:
                    gegner[i] = "goblin"
                    gegnerhp[i] = randint(10, 50)
                print("* {0} with {1} HP".format(gegner[i]),gegnerhp[i])
Run Code Online (Sandbox Code Playgroud)

例如,当随机数为 4 时,我收到以下错误:

  File "C:/Users/Fabio/PycharmProjects/test\dungeon.py", line 147, in run
gegner[i] = "wolf"
  IndexError: list assignment index out of range
Run Code Online (Sandbox Code Playgroud)

也许我对列表/数组的声明是错误的?...

小智 0

你的列表gegnergegnerhp都是空的,因此访问它们会给你一个错误。