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"]]]
时,它会尝试从字符串中索引并因此抛出错误。
我有一个学生正在尝试在 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"]]]
时,它会尝试从字符串中索引并因此抛出错误。