2016-02-13 96 views
2

所以我看了看我的問題的答案,但它似乎並不適用於我。在Python中導入字典

基本上,我正在製作一個基於文本的遊戲,並且在一個文件中我有一個字典包含可以收集字符的武器,但是當我嘗試導入字典時,它說它無法導入該名稱。這裏是我的代碼段:

字典文件:

import random 
import sci_fi_rp 

weapons_stash_c = { 
    "pistols":{ 
     "basic_repeater":{ 
      "name": "Basic Repeater", 
      "dmg": random.randint(6,9), 
        "ammo": 12, 
        "max_ammo": 12, 
        "level": hero.lvl 
       }, 

     "laser_pistol":{ 
      "name": "Laser Pistol", 
      "dmg": random.randint(8,11), 
        "ammo": 8, 
        "max_ammo": 8, 
        "level": hero.lvl 
       },     
    "laser_blaster":{ 
      "name": "Laser Blaster", 
        "dmg" : random.randint(10,12), 
        "ammo": 7, 
        "max_ammo": 7, 
        "level": hero.lvl 
        }, 

遊戲文件:

import random 
import time 
from sci_fi_rp_weapons import weapons_stash_c 

#Equipped weapon 
laser_blaster = weapons_stash_c["pistols"]["laser_blaster"] 
weapon_equipped = laser_blaster 

我真的不知道發生了什麼事,他們是在同一目錄下。我可能犯了一個笨拙的錯誤,我不知道,我試圖檢查。謝謝!

+0

你忘了'__init __。py'某處嗎? – matino

+1

你可以添加引發給你的確切錯誤嗎? –

+0

我假設通過''dmg「:random.randint(6,9)'你希望武器對每次射擊都造成一定量的傷害,或者該武器的每個實例的傷害略有不同。然而,這個表達式只被評估一次,所以每種類型的武器都會造成同樣的傷害,在開始遊戲時會隨機確定一次。 –

回答

1

我做了一些測試,與您的代碼,問題似乎是實際的字典本身

文件名:sci_fi_rp.py < <這有字典

FILNAME:game.py

import sci_fi_rp << you put sci_fi_rp_weapons which isn't a file 
print(sci_fi_rp.weapons_stash_c) << this returns a dictionary error 

所以問題是我認爲的文件名,然後也有字典錯誤

嘗試重新編號,閱讀字典文件錯誤不斷得到(SyntaxError:解析時意外的EOF)