8-2 喜欢的图书 :
编写一个名为favorite_book() 的函数, 其中包含一个名为title 的形参。 这个函数打印一条消息, 如One of my favorite books is Alice in Wonderland 。 调用这个函数, 并将一本图书的名称作为实参传递给它。
def favorite_book(title):
print('One of my favorite books is ' + str(title))
favorite_book('三体')
8-3 T恤 :
编写一个名为make_shirt() 的函数, 它接受一个尺码以及要印到T恤上的字样。 这个函数应打印一个句子, 概要地说明T恤的尺码和字样。使用位置实参调用这个函数来制作一件T恤; 再使用关键字实参来调用这个函数。
def make_shirt(size, style):
print('Make a T-shirt in '+style+' with size '+str(size)+'.')
make_shirt('S','cool')
make_shirt(style='yellow', size='L')

8-7 专辑 :
编写一个名为make_album() 的函数, 它创建一个描述音乐专辑的字典。 这个函数应接受歌手的名字和专辑名, 并返回一个包含这两项信息的字典。 使用这个函数创建三个表示不同专辑的字典, 并打印每个返回的值, 以核实字典正确地存储了专辑的信息。
给函数make_album() 添加一个可选形参, 以便能够存储专辑包含的歌曲数。 如果调用这个函数时指定了歌曲数, 就将这个值添加到表示专辑的字典中。 调用这个函数, 并至少在一次调用中指定专辑包含的歌曲数。
def make_album(singer, album_name, num=-1):
p = {}
if num==-1:
p[singer] = album_name
else:
p[singer] = album_name
p['numberOfsongs'] = num
return p
album1 = make_album('Jay', 'I am busy')
album2 = make_album('JJ', 'Yuexingzhe')
album3 = make_album('Katy Perry', 'Prims')
album4 = make_album('Lady Gaga', 'The Fame', 10)
print(album1)
print(album2)
print(album3)
print(album4)

8-9 魔术师 :
创建一个包含魔术师名字的列表, 并将其传递给一个名为show_magicians() 的函数, 这个函数打印列表中每个魔术师的名字。
8-10 了不起的魔术师 :
在你为完成练习8-9而编写的程序中, 编写一个名为make_great() 的函数, 对魔术师列表进行修改, 在每个魔术师的名字中都加入字样“the Great”。 调用函数show_magicians() , 确认魔术师列表确实变了。
def show_magicians(magicians):
for magician in magicians:
print(magician)
def make_great(magicians):
for i in range(0,len(magicians)):
magicians[i] = "The Great " + magicians[i]
macs = ['Liu Qian', 'Jay Zhou']
make_great(macs)
show_magicians(macs)
8-12 三明治 :
编写一个函数, 它接受顾客要在三明治中添加的一系列食材。 这个函数只有一个形参(它收集函数调用中提供的所有食材) , 并打印一条消息, 对顾客点的三明治进行概述。 调用这个函数三次, 每次都提供不同数量的实参。
def show_sandwich(*sandwiches):
print('You order ')
for sandwiche in sandwiches:
print(sandwiche)
show_sandwich('beef sandwich')
show_sandwich('beef sandwich', 'bacon sandwich')
show_sandwich('beef sandwich', 'bacon sandwich', 'tomato sandwich')
