我在尝试使文本文件可读为地图时不断收到错误"type object argument after * must be an iterable, not Skull"



在pygame上开发基于瓷砖的游戏。我正在尝试将文本文件读取为地图,但是,我不断收到一个我不知道如何解决的类型错误

    for row, tiles in enumerate(self.map_data):
        for col, tile in enumerate(tiles):
            if tile == "1":
                 np = Skull(col, row)
                 SKULL_LIST.append(np)
    for skl in SKULL_LIST:
        s = Skull(*skl)
        self.all_sprites.add(s)
        self.skulls.add(s)

我收到的错误消息:

* 后面的类型对象参数必须是可迭代的,而不是头骨

尝试将行s = Skull(*skl)替换为行s = skl。Skull(*skl( 的含义是 Skull(skl[0], skl[1], ...(,它只为映射(如列表(定义。也许 skl 不是映射(特别是,不是列表(?如果你来自 C 或 C++,请注意指针取消引用在 Python 中是隐式的,所以你不需要在变量名称前面加上星号或与号。

相关内容

最新更新