当前位置:   article > 正文

Python编程:从入门到实践(埃里克·马瑟斯)第八章部分习题_艾里克马瑟斯

艾里克马瑟斯

练习 8-1:消息 编写一个名为 display_message()的函数,它打印一个句子,指出 你在本章学的是什么。调用这个函数,确认显示的消息正确无误。

  1. def display_message():
  2. print(f"use function")
  3. display_message()

 练习 8-2:喜欢的图书 编写一个名为 favorite_book()的函数,其中包含一个名为 title 的形参。这个函数打印一条消息,下面是一个例子。 One of my favorite books is Alice in Wonderland. 调用这个函数,并将一本图书的名称作为实参传递给它。

  1. def favorite_book(title):
  2. print(f"One of my favourite books is {title}.")
  3. favorite_book('Alice in Wonderland')

练习 8-3:T 恤 编写一个名为 make_shirt()的函数,它接受一个尺码以及要印到 T 恤上的字样。这个函数应打印一个句子,概要地说明 T 恤的尺码和字样。 使用位置实参调用该函数来制作一件 T 恤,再使用关键字实参来调用这个函数。

  1. def make_shirt(size, message):
  2. print(f"the size of shirt is {size}.")
  3. print(f"the pattern of shirt is {message}.")
  4. make_shirt('small', 'smile')

 练习 8-4:大号 T 恤 修改函数 make_shirt(),使其在默认情况下制作一件印有 “I love Python”字样的大号 T 恤。调用这个函数来制作:一件印有默认字样的大号 T 恤,一件印有默认字样的中号 T 恤,以及一件印有其他字样的 T 恤(尺码无关紧要)

  1. def make_shirt(size='large', message='I love Python'):
  2. print(f"the size of shirt is {size}.")
  3. print(f"the pattern of shirt is {message}.")
  4. make_shirt()
  5. make_shirt("middle")
  6. make_shirt("small", "smile")

练习 8-5:城市 编写一个名为 describe_city()的函数,它接受一座城市的名字 以及该城市所属的国家。这个函数应打印一个简单的句子,下面是一个例子。 Reykjavik is in Iceland. 给用于存储国家的形参指定默认值。为三座不同的城市调用这个函数,且其中至少有一座城市不属于默认国家。

  1. def describe_city(city, country='China'):
  2. print(city + " is in " + country)
  3. describe_city('Beijing')
  4. describe_city('Guangzhou')
  5. describe_city('Reykjavik', 'Iceland')

练习 8-6:城市名 编写一个名为 city_country()的函数,它接受城市的名称及其 所属的国家。这个函数应返回一个格式类似于下面的字符串: "Santiago, Chile"   至少使用三个城市国家对来调用这个函数,并打印它返回的值。

  1. def city_country(city, country):
  2. city_country_info = city.title() + "," + country.title()
  3. return city_country_info
  4. city_country1 = city_country('beijing', 'china')
  5. print(city_country1)
  6. city_country2 = city_country('shanghai', 'china')
  7. print(city_country2)
  8. city_country3 = city_country('shenzhen', 'china')
  9. print(city_country3)

练习 8-7:专辑 编写一个名为 make_album()的函数,它创建一个描述音乐专辑的 字典。这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典。使用 这个函数创建三个表示不同专辑的字典,并打印每个返回的值,以核实字典正确地存储 了专辑的信息。 给函数 make_album()添加一个默认值为 None 的可选形参,以便存储专辑包含的歌 曲数。如果调用这个函数时指定了歌曲数,就将该值添加到表示专辑的字典中。调用这 个函数,并至少在一次调用中指定专辑包含的歌曲数。

  1. def make_album(name, album, num=''):
  2. artist_album = {'artist': name, 'album': album} # 返回字典
  3. if num:
  4. artist_album['number'] = num
  5. return artist_album
  6. album1 = make_album('n1', 'a1')
  7. print(album1)
  8. album2 = make_album('n2', 'a2', '10')
  9. print(album2)

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

  1. def make_album(name, album, num=''):
  2. artist_album = {'artist': name, 'album': album} # 返回字典
  3. if num:
  4. artist_album['number'] = num
  5. return artist_album
  6. print(f"You can enter quit to stop")
  7. while True:
  8. name_input = input("the artist' name:")
  9. if name_input == 'quit':
  10. break
  11. album_input = input("the artist' album:")
  12. if album_input == 'quit':
  13. break
  14. artist_album_input = make_album(name_input, album_input)
  15. print(artist_album_input)

练习 8-9:消息 创建一个列表,其中包含一系列简短的文本消息。将该列表传递 给一个名为 show_messages()的函数,这个函数会打印列表中的每条文本消息。

练习 8-10:发送消息 在你为完成练习 8-9 而编写的程序中,编写一个名为 send_ messages()的函数,将每条消息都打印出来并移到一个名为 sent_messages 的列表中。 调用函数 send_messages(),再将两个列表都打印出来,确认正确地移动了消息。

  1. # 8-9,8-10
  2. def show_messages(messages):
  3. for message in messages:
  4. print(message)
  5. def send_messages(messages1):
  6. messages2 = messages1
  7. return messages2
  8. m1 = {'hello', 'world'}
  9. show_messages(m1)
  10. m2 = send_messages(m1)
  11. show_messages(m2)

练习 8-11:消息归档 修改你为完成练习 8-10 而编写的程序,在调用函数 send_ messages()时,向它传递消息列表的副本。调用函数 send_messages()后,将两个列表都 打印出来,确认保留了原始列表中的消息。

  1. def show_messages(messages):
  2. for message in messages:
  3. print(message)
  4. def send_messages(messages1):
  5. messages2 = messages1
  6. print(messages1)
  7. print(messages2)
  8. m1 = {'hello', 'world'}
  9. show_messages(m1)
  10. send_messages(m1)

练习 8-12:三明治 编写一个函数,它接受顾客要在三明治中添加的一系列食材。 这个函数只有一个形参(它收集函数调用中提供的所有食材),并打印一条消息,对顾 客点的三明治进行概述。调用这个函数三次,每次都提供不同数量的实参。

  1. def make_sandwish(*toppings):
  2. print("\nMaking a sandwish with the following topping:")
  3. for topping in toppings:
  4. print(topping)
  5. make_sandwish('ham')
  6. make_sandwish('vegatable', 'ham')
  7. make_sandwish('vegatable', 'ham', 'butter')

练习 8-13:用户简介 复制前面的程序 user_profile.py,在其中调用 build_profile() 来创建有关你的简介。调用这个函数时,指定你的名和姓,以及三个描述你的键值对

  1. def build_profile(first, last, **user_info):
  2. user_info['first_name'] = first
  3. user_info['last_name'] = last
  4. return user_info
  5. user_profile =build_profile('Ryan', 'Le',
  6. country='China',
  7. location='Guangzhou',
  8. field='IT')
  9. print(user_profile)

练习 8-14:汽车 编写一个函数,将一辆汽车的信息存储在字典中。这个函数总是 接受制造商和型号,还接受任意数量的关键字实参。这样调用该函数:提供必不可少的 信息,以及两个名称值对,如颜色和选装配件。

  1. def make_car(maker, model, **car_info):
  2. information = {'car_maker': maker, 'car_model': model}
  3. for key, value in car_info.items():
  4. information[key] = value
  5. return information
  6. car = make_car('subaru', 'outback', color='blue', tow_package=True)
  7. print(car)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/693922
推荐阅读
相关标签
  

闽ICP备14008679号