2014-09-28 75 views
0

我想知道是否可以將字典項目保存到變量。所以,這就是我正在做的。我保存此項目的字典:將dictionarys項目設置爲變量

accounts{} 

def accountcreator(): 
    newusername = raw_input() 
    newpassword = raw_input() 
    UUID = 0 
    UUID += 1 
    accounts[newusername] = {newpassword:UUID} 

現在基本上我將通過newusernames在一個單獨的函數來循環:

def accounts(): 
    username = raw_input() 
    for usernames in accounts: 
    if usernames == username: 
     #Not sure what to do from here on out 
    else: 
     accounts() 

這是我感到困惑。因此,如果用戶名輸入在帳戶字典中等於新用戶名,它將繼續保留。我希望它將newusernames密碼和UUID({newpassword:UUID}部分)保存到變量中。所以基本上,如果newusername等於用戶名輸入,它會將其餘信息({newpassword:UUID})保存到變量中。所以最後變量可以說accountinfo = {newpassword:UUID}。謝謝,我希望這是有道理的。

+0

您只需執行'accountinfo = accounts [username]'。閱讀一些python教程。 – user3885927 2014-09-28 15:34:07

+0

那我怎麼也抓住UUID?或者,如果這是UUID,我怎樣才能獲取密碼?謝謝 – 2014-09-28 15:45:40

回答

1

代碼中有幾個錯誤。首先,可能是一個錯字:

accounts = {} 

接下來,當你創建代碼,你總是重置UUID爲0,使得增量一點毫無意義。初始化UUID功能外,像你這樣做accounts

UUID = 0 
def accountcreator(): 
    newusername = raw_input() 
    newpassword = raw_input() 
    UUID += 1 
    accounts[newusername] = {newpassword:UUID} 

第三,我不知道爲什麼要映射的密碼到UUID。可能的是,你要在用戶字典兩個單獨的領域來存儲:

accounts[newusername] = { 'password': newpassword, 'UUID': UUID } 

最後,使用字典將用戶名映射到信息是,你並不需要遍歷整個字典的整點;您只需使用用戶名索引字典。不過,您必須注意不要嘗試訪問不存在的密鑰。

# Use a different name; accounts is already a dictionary 
def get_account(): 
    username = raw_input() 
    if username in accounts: 
     return accounts[username] 
    else: 
     print("No account for {0}".format(username)) 
+0

你好,我做了你所說的:accounts [newusername] = {'password':newpassword,'UUID':UUID}。現在,我將如何獲取密碼和UUID並將它們保存到vaiables?這是我迄今爲止:用於帳戶的用戶名*新行*密碼=帳戶[用戶名] – 2014-09-29 01:07:44

+0

請幫助^^ ^^ ^^ – 2014-09-29 22:34:02