Python编程从入门到实践_8-8 用户的专辑_答案

Python编程从入门到实践_8-8 用户的专辑_答案Python编程从入门到实践_8-8 用户的专辑_答案_第1张图片

我也看了一些其他人的答案,很多的答案存在问题,每次调用函数 make_album() 后生成一个专辑字典会覆盖上次调用函数 make_album() 生成的字典,不符合题意。

我采取的解决方案是添加一个空列表  album_list ,每次调用函数 make_album() 生成的字典都添加到列表  album_list 中。

#8-7,2023-08-20,by qs

def make_album(singer,album,number = ''):
    album_message = {
        '歌手名':singer,
        '专辑名':album,
        }
        
    if number:
        album_message['歌曲数'] = number
        
    
    return album_message

#创建一个保存专辑字典的列表    
album_list = []  
    
while True:
    print('\n在任何时候输入【q】退出程序')
  
    singer = input('请输入歌手名:')
    if singer == 'q':
        break
  
    album = input('请输入专辑名:')
    if album == 'q':
        break
          
    number = input('请输入专辑内的歌曲数:')
    if number == 'q':
        break
        
    album = make_album(singer,album,number)
    #向保存专辑字典的列表中添加专辑字典
    album_list.append(album)

    for k,v in album.items():
       print(k + ':' + v)

print('-----显示专辑列表-----')
print(album_list)

#end

结果如下:

Python编程从入门到实践_8-8 用户的专辑_答案_第2张图片

 

你可能感兴趣的:(python,python)