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 "+title)
favorite_book('LOVE')
8-4 大号 大号T恤 恤 :修改函数make_shirt() ,使其在默认情况下制作一件印有字样“I love Python”的大号T恤。调用这个函数来制作如下T恤:一件印有默认字样的大号T 恤、一件印有默认字样的中号T恤和一件印有其他字样的T恤(尺码无关紧要)。
def make_shirt(size='L',title='I love Python'):
print('I will make a '+size+' size shirt with "'+title+' "')
make_shirt()
make_shirt('M')
make_shirt(title='Love')
8-7 专辑 专辑 :编写一个名为make_album() 的函数,它创建一个描述音乐专辑的字典。这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典。使 用这个函数创建三个表示不同专辑的字典,并打印每个返回的值,以核实字典正确地存储了专辑的信息。 给函数make_album() 添加一个可选形参,以便能够存储专辑包含的歌曲数。如果调用这个函数时指定了歌曲数,就将这个值添加到表示专辑的字典中。调用这个 函数,并至少在一次调用中指定专辑包含的歌曲数。def make_album(singer_name,album_name,song_number=''):
album={'singer':singer_name,'album':album_name}
if song_number:
album['number']=song_number
return album
album_1=make_album('Taylor Swift','Red')
print(album_1)
album_2=make_album('Charlie Puth','Nine Track Mind','16')
print(album_2)
album_3=make_album('Charlie Puth','Some Type of Love')
print(album_3)
8-8 用户的专辑 用户的专辑 :在为完成练习8-7编写的程序中,编写一个while 循环,让用户输入一个专辑的歌手和名称。获取这些信息后,使用它们来调用函 数make_album() ,并将创建的字典打印出来。在这个while 循环中,务必要提供退出途径。
def make_album(singer_name,album_name,song_number=''):
album={'singer':singer_name,'album':album_name}
if song_number:
album['number']=song_number
return album
while True:
print("\nPlease tell me singer name:")
print("\nenter q to quit")
singer=input("singer name:")
if singer=='q':
break
album_name=input("Album name:")
if album_name=='q':
break
album = make_album(singer,album_name)
print(album)
8-10 了不起的魔术师 了不起的魔术师 :在你为完成练习8-9而编写的程序中,编写一个名为make_great() 的函数,对魔术师列表进行修改,在每个魔术师的名字中都加入字样“the Great”。调用函数show_magicians() ,确认魔术师列表确实变了
def show_magicians(magicians):
for magician in magicians:
print(magician)
def make_great(magicians):
i=0
while i!=len(magicians):
magicians[i]='the Great'+magicians[i]
i=i+1
magicians=['Tom','Mary','Bob']
show_magicians(magicians)
make_great(magicians)
show_magicians(magicians)
8-12 三明治 三明治 :编写一个函数,它接受顾客要在三明治中添加的一系列食材。这个函数只有一个形参(它收集函数调用中提供的所有食材),并打印一条消息,对顾客 点的三明治进行概述。调用这个函数三次,每次都提供不同数量的实参。def make_sandwich(*toppings):
print(toppings)
make_sandwich('apple')
make_sandwich('chicken','apple','pork')
make_sandwich('apple','fruit')
8-14 汽车 汽车 :编写一个函数,将一辆汽车的信息存储在一个字典中。这个函数总是接受制造商和型号,还接受任意数量的关键字实参。这样调用这个函数:提供必不可 少的信息,以及两个名称—值对,如颜色和选装配件。这个函数必须能够像下面这样进行调用:
car = make_car('subaru', 'outback', color='blue', tow_package=True)
def make_car(manufacturer,size,**more_inf):
car={}
car['manufacturer']=manufacturer
car['size']=size
for key,value in more_inf.items():
car[key]=value
return car
car = make_car('subaru', 'outback', color='blue', tow_package=True)
print(car)