簡體   English   中英

用python添加到字典中。 Python文字rpg

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM