Python 说他们不能有 "Visible" 索引

Python says that they cant have a "Visible" index

我有一个学生正在尝试在 Python 3 a-la Zork 中制作基于文本的游戏,并且正在使用 classes。他得到的错误是字典键是字符串,Python 说他们不能有 "Visible" 索引。

这是他为 class...

编写的代码
class see():
    def look(room):
        objects = room["Objects"].keys()
        items = room["Items"]

        print(room["Description"])
        print("In the room you see:")
        for i in objects:
            if room["Objects"[i["Visible"]]]:
                print(room["Objects"[i["Description"]]])
        for i in items:
            if room["Items"[i["Visible"]]]:
                for j in game.ITEM:
                    if i == j:
                        print(game.ITEM[i["Description"]])
                for j in game.WEAPON:
                    if i == j:
                        print(game.WEAPON[i["Description"]])

当脚本为 运行 时,他收到错误提示,它需要是一个整数。这里有什么解决方法?我自己是 Python 的新手,正急于尝试提供帮助。如果有帮助,我可以 post 调用 class 的游戏代码。

这是不正确的(括号没有正确关闭):

room["Objects"[i["Visible"]]]

改为这样做:

room["Objects"][i]["Visible"]

同样,您还需要将room["Items"[i["Visible"]]]更正为room["Items"][i]["Visible"],将game.ITEM[i["Description"]]更正为game.ITEM[i]["Description"]等等..

正如已经指出的那样,当您执行 "Items"[i["Visible"]]] 时,它会尝试从字符串中索引并因此抛出错误。