Python中如何将多个用户输入存入字典并打印全部内容?
问题修复方案
核心原因
- 输入变量每次循环都会被新内容覆盖,你没有创建容器存储每次生成的专辑字典
make_album调用放在了while循环外部,仅会在循环结束后用最后一次输入的内容执行一次
修正后代码
from album import make_album # 初始化空列表存储所有专辑信息 all_albums = [] while True: aName = input("Enter ur fav artist name?\n") fsong = input("Enter ur fav artist's song:\n") num = input("Enter total song by ur fav artist:\n") # 每次输入完成后直接生成专辑字典,存入列表 album_item = make_album(aName, fsong, num) all_albums.append(album_item) print("press 'yes' for another poll or press 'quit' anytime to exit:") anotherPoll = input() if anotherPoll == "quit": break # 遍历打印所有收集到的内容 for item in all_albums: print(item)
关键修改说明
- 新增空列表
all_albums,每次循环生成的单条专辑数据都会追加到列表中,不会被后续输入覆盖 - 将
make_album调用移到循环内部,每完成一次输入就立即处理存入列表 - 最后新增遍历打印逻辑,循环结束后会输出所有收集到的内容
内容的提问来源于stack exchange,提问作者itsniteshh
相关产品推荐
相关产品推荐

