2014-09-28 2 views
0

사전 항목을 변수에 저장하는 것이 가능한지 궁금합니다. 그래서 이것은 단순히 내가하는 일입니다. 나는 사전에이 항목을 저장하고있다 :사전 항목을 변수로 설정

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]'을 사용하면됩니다. 파이썬 튜토리얼을 읽어보십시오. – user3885927

+0

그러면 UUID도 어떻게 얻을 수 있습니까? 또는 이것이 UUID 인 경우 어떻게 암호를 얻을 수 있습니까? 감사합니다. –

답변

1

코드에 몇 가지 오류가 있습니다. 첫째, 아마 오타 : 코드를 생성 할 때

accounts = {} 

다음, 당신은 증가 조금 무의미을 0으로 UUID를 재설정 항상이 있습니다. 당신이 accounts으로처럼, 함수 외부 UUID 초기화 :

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에 저장합니까? 이것은 내가 지금까지 가지고있는 것입니다 : 계정의 사용자 이름 * 새 줄 * 암호 = 계정 [사용자 이름] –

+0

도와주세요 ^^ ^^ ^^ –