在用用户输入填充字典时重复响应

repeated response in filling a dictionary with user input

我正在尝试创建一个投票,用户可以在其中输入他们的姓名和山峰,然后在投票完成后,代码将打印“Name would like to climb 。”但是,打印的山始终是最后一个用户输入的山。我可以知道如何纠正它为不同的用户打印 diff mountains 吗?谢谢

我的代码:

responses = {}

# set a flag to indicate that polling is active
polling_active = True

while polling_active:
    # prompt for the person's name and response
    name = input("\nWhat is your name? ")
    response = input("Which mountain would you like to climb someday? ")
    
    # store the response in the dictionary
    responses[name] = response
    
    # find out if anyone else is going to take the poll
    repeat = input("Would you like to let another person respond? (yes/ no) ")
    if repeat == 'no':
        polling_active = False
        
# polling is complete. show the results.
print("\n--- Poll Results ---")
for name, reponse in responses.items():
    print(name + " would like to climb " + response + ".")

结果:

What is your name? Amelia
Which mountain would you like to climb someday? Everest
Would you like to let another person respond? (yes/ no) yes

What is your name? Bobby
Which mountain would you like to climb someday? Matterhorn
Would you like to let another person respond? (yes/ no) no

--- Poll Results ---
Amelia would like to climb Matterhorn.
Bobby would like to climb Matterhorn.

你打错了,在最后两行中,更改reponse

for name, reponse in responses.items():
    print(name + " would like to climb " + reponse + ".")