第四周课后作业,第八章的练习题选几道写一下
8-2 喜欢的图书 : 编写一个名为favorite_book() 的函数, 其中包含一个名为title 的形参。 这个函数打印一条消息, 如One of my favorite books is Alice in Wonderland 。 调用这个函数, 并将一本图书的名称作为实参传递给它。
def favorite_book(title):
print("My favorite book is " + title.title() + '.')
favorite_book('Alice in Wonderland')
8-4 大号T恤 : 修改函数make_shirt() , 使其在默认情况下制作一件印有字样“I love Python”的大号T恤。 调用这个函数来制作如下T恤: 一件印有默认字样的大号T恤、 一件印有默认字样的中号T恤和一件印有其他字样的T恤(尺码无关紧要) 。
def make_shirt(size='large', thing='I love Python'):
print("I will make a " + size + ' shirt with ' + '"' + thing + '".')
make_shirt()
make_shirt('medium')
make_shirt(thing = 'I love you')
8-7 专辑 : 编写一个名为make_album() 的函数, 它创建一个描述音乐专辑的字典。 这个函数应接受歌手的名字和专辑名, 并返回一个包含这两项信息的字典。 使用这个函数创建三个表示不同专辑的字典, 并打印每个返回的值, 以核实字典正确地存储了专辑的信息 。
def make_album(singer, album, number=''):
if number:
finish_album = {'singer':singer, 'name':album, "number of songs":int(number)}
else:
finish_album = {'singer':singer, 'name':album}
return finish_album
print(make_album('Taylor Swift','Reputation'))
print(make_album('Adele','25','11'))
print(make_album('Justin Timblake','Man of the Woods'))
8-11 不变的魔术师 : 修改你为完成练习8-10而编写的程序, 在调用函数make_great() 时, 向它传递魔术师列表的副本。 由于不想修改原始列表, 请返回修改后的列表, 并将其存储到另一个列表中。 分别使用这两个列表来调用show_magicians() , 确认一个列表包含的是原来的魔术师名字, 而另一个列表包含的是添加了字样“the Great”的魔术师名字。
def show_magicians(list):
for magician in list:
print(magician)
def make_great(list):
number = 0
while number < len(list):
list[number] = 'the Great ' + list[number]
number = number + 1
return list
magicians = ['Alice', 'Bob', 'Cathy', 'David']
great_magicans = make_great(magicians[:])
show_magicians(magicians)
show_magicians(great_magicans)
8-14 汽车 : 编写一个函数, 将一辆汽车的信息存储在一个字典中。 这个函数总是接受制造商和型号, 还接受任意数量的关键字实参。 这样调用这个函数: 提供必不可少的信息, 以及两个名称—值对, 如颜色和选装配件。 这个函数必须能够像下面这样进行调用:car = make_car('subaru', 'outback', color='blue', tow_package=True) 。
def make_car(producer, kind, **list):
car = {'producer':producer, 'kind':kind}
for key,value in list.items():
car[key] = value
return car
car = make_car('subaru','outback',color='blue',tow_package=True)
print(car)