2017-09-05 13 views
1

私はpythonとコーディングの初心者ですが、なぜ私のプログラムが正しく動作しないのか分かりません。予想される効果は「名前は[行き先]に行きたい」ですが、コードでは異なる「{名前:[行き先]}」の対は区別されません。ここで辞書でユーザー入力によるリストを作成しています

はここに私のコード、あなたの注意に感謝です:)

response = {} 
destinations = [] 
ptname = 'name pls.' 
prompt = 'input some places in the world, input next to go to the next user' 
active = True 
unfinished = True 
while active: 
    unfinished = True 
    name = input(ptname) 
    while unfinished: 
    destination = input(prompt) 
    if destination != 'next': 
     destinations.append(destination) 
     print(destination + ' has been added to your list.') 
     response[name] = destinations 
    elif destination == 'next': 
     unfinished = False 
    go_on = input('wish to continue? y/n') 
    if go_on == 'n': 
    active = False 

print(response) 
for name, destinations in response.items(): 
    print(name + ' wants to go to ') 
    for destination in destinations: 
    print(destination) 

答えて

0

あなたがnameを設定したり、再利用することしている同じ外側のループにdestinationsのために(実際に新しい参照を作成)をリセットする必要がありますすべての名前について同じリスト。

name = input(ptname) 
    destinations = [] # create new reference for the list 
    while unfinished: 
    ... 
+0

while =未完成のループで新しいリストを生成するにはどうすればよいのですか?また、ユーザーの名前を辞書{response} – Yuchen

関連する問題