[英]Adding to a dictionary in python. Python text rpg
我正在制作文本rpg,需要一些幫助,但我不確定要如何解釋。
我需要進行設置,以便用戶可以輸入“檢查密鑰”之類的內容,並顯示“這是密鑰”。
我正在使用2個文件。
main.py engine.py
main.py需要能夠將對象附加到文件engine.py中的字典中
如果engine.py有
objects = {
}
並且main.py有
key = {'it's a key', 'key taken'}
engine.objects.append(key)
我的主循環應該能夠像
if choice[0] == 'examine':
if choice[1] == anything in objects:
print whatever object[0]
如果這有任何意義,您可以為我指明正確的方向。
編輯:我不能追加到字典。
Traceback (most recent call last):
File "...\main.py", line 5, in <module>
engine.objects.append(key)
AttributeError: 'dict' object has no attribute 'append'
EDIT2:很抱歉在這方面如此菜鳥。 每當我鍵入“檢查”而沒有第二個限制符時,它都會出錯並關閉。 我知道為什么,但我不知道如何解決。
引擎對象應該是一個列表,以便您可以在其中附加鍵,現在我不明白為什么需要創建2個不同的文件,但是我將舉一個小例子,以便也許可以更好地指導您:
choices = {'what's your name': 'I am jorge beans', 'left': 'there is a door',
'punch': 'ouch!'}
if user_choice in keys:
# this way you examine the key values in the choices dictionary so you
# don't need the objects list
print choices[user_choice]
如果您多指定一些問題,我肯定會在回答上更加具體。 祝好運!
dict
類中沒有.append()
方法。
要將鍵/值對插入字典d
:
d[key] = value
要檢查d
是否包含鍵並獲取相應的值:
command, obj = "examine box".split()
if command == 'examine':
if obj in d:
print d[obj]
盡量避免使用可變的全局變量,例如engine.objects
。 您可以將訪問權限封裝在一個類中。
例如,您可以基於stdlib的cmd
模塊構建程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.