课后练习、十三

8-7 专辑 :编写一个名为make_album() 的函数,它创建一个描述音乐专辑的字典。这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典。使 用这个函数创建三个表示不同专辑的字典,并打印每个返回的值,以核实字典正确地存储了专辑的信息。

给函数make_album() 添加一个可选形参,以便能够存储专辑包含的歌曲数。如果调用这个函数时指定了歌曲数,就将这个值添加到表示专辑的字典中。调用这个 函数,并至少在一次调用中指定专辑包含的歌曲数。

8-8 用户的专辑 :在为完成练习8-7编写的程序中,编写一个while 循环,让用户输入一个专辑的歌手和名称。获取这些信息后,使用它们来调用函 数make_album() ,并将创建的字典打印出来。在这个while 循环中,务必要提供退出途径。

要点在于理解透彻定义函数和调用,字典与列表之间的转换

def make_album(singer,song, num = ''):
    album = {'singer':singer, 'song': song, 'num': num}
    return album
A = make_album('ldh','wqs',3)
print(A)
while 1:
    singer = input("Please enter singer's name")
    song = input("Please enter song's name")
    num = input('Number')
    if song == 'quit':  # 在song中输入'quit'退出
        break
    print(make_album(singer, song, num))

8-9 魔术师 :创建一个包含魔术师名字的列表,并将其传递给一个名为show_magicians() 的函数,这个函数打印列表中每个魔术师的名字。

8-10 了不起的魔术师 :在你为完成练习8-9而编写的程序中,编写一个名为make_great() 的函数,对魔术师列表进行修改,在每个魔术师的名字中都加入字样“the Great”。调用函数show_magicians() ,确认魔术师列表确实变了。

8-11 不变的魔术师 :修改你为完成练习8-10而编写的程序,在调用函数make_great() 时,向它传递魔术师列表的副本。由于不想修改原始列表,请返回修改后的 列表,并将其存储到另一个列表中。分别使用这两个列表来调用show_magicians() ,确认一个列表包含的是原来的魔术师名字,而另一个列表包含的是添加了字 样“the Great”的魔术师名字。

要点使用列表元素移动法进行修改列表元素,函数的调用,历出列表的方式。

mss = ['A', 'B', 'C']
dmss = []
mss1 = mss.copy() # 直接复制列表mss
def show_magicians(mss):# 可理解成定义一个算术块,需要时随时调用。
    for name in mss:
        print(name)
show_magicians(mss)

def make_great(mss, dmss): # 移动列表元素方法,定义变量对元素内容进行修改。
    while mss: # 循环列表mss对里面元素逐个移动
        ms = mss.pop()
        dms = 'The Great ' + ms # 定义dms为修改变量
        dmss .append(dms)
def show_magicianss(dmss):
    for i in dmss:
        print(i)
make_great(mss, dmss)
show_magicianss(sorted(dmss)) # 排序显示
show_magicianss(mss1) # 调用列表mss1

猜你喜欢

转载自blog.csdn.net/weixin_44388856/article/details/85831246