【发布时间】:2020-08-19 01:52:43
【问题描述】:
您好,我正在开发一个基于文本的游戏,但我正在努力使用 drop 命令;它的工作方式是你写“D 物品的名称”然后它检查物品是否真的在库存中,如果是,它把它放在一个变量中,从库存中删除它并我希望它附加到房间(字典)的内容索引中,并且该字典在列表中,我无法附加到它。 这是代码(其中一些):
room = []
room.append({'number': 1, 'content': ""})
roomnumber = 1
inv = ["sword"]
command = input(": ")
first_letter = command(0)
if first_letter == "D":
item = command.split(" ", 2)
item.remove("D")
for i in range(0, len(inv):
inv.pop(i)
#this doesn't work
` room[roomnumber]['content'].append(item[0])`
item.pop(0)
在我输入:“D剑”之后,它给了我这个错误:
Traceback (most recent call last):
File "/Users/antony/PycharmProjects/TextBased/Main.py", line 54, in <module>
room[roomnumber]['content'].append(item[0])
AttributeError: 'str' object has no attribute 'append'
没看懂,求大神帮忙!
【问题讨论】:
-
查看我的所有 cmets 以及在我的答案中作为 cmets 添加为代码中的代码的更正。主要问题是您将列表方法 (append()) 应用于字典对象。
标签: python dictionary input data-structures append