赞
踩
练习 8-1:消息 编写一个名为 display_message()的函数,它打印一个句子,指出 你在本章学的是什么。调用这个函数,确认显示的消息正确无误。
- def display_message():
- print(f"use function")
-
-
- display_message()
练习 8-2:喜欢的图书 编写一个名为 favorite_book()的函数,其中包含一个名为 title 的形参。这个函数打印一条消息,下面是一个例子。 One of my favorite books is Alice in Wonderland. 调用这个函数,并将一本图书的名称作为实参传递给它。
- def favorite_book(title):
- print(f"One of my favourite books is {title}.")
-
-
- favorite_book('Alice in Wonderland')
练习 8-3:T 恤 编写一个名为 make_shirt()的函数,它接受一个尺码以及要印到 T 恤上的字样。这个函数应打印一个句子,概要地说明 T 恤的尺码和字样。 使用位置实参调用该函数来制作一件 T 恤,再使用关键字实参来调用这个函数。
- def make_shirt(size, message):
- print(f"the size of shirt is {size}.")
- print(f"the pattern of shirt is {message}.")
-
-
- make_shirt('small', 'smile')
练习 8-4:大号 T 恤 修改函数 make_shirt(),使其在默认情况下制作一件印有 “I love Python”字样的大号 T 恤。调用这个函数来制作:一件印有默认字样的大号 T 恤,一件印有默认字样的中号 T 恤,以及一件印有其他字样的 T 恤(尺码无关紧要)
- def make_shirt(size='large', message='I love Python'):
- print(f"the size of shirt is {size}.")
- print(f"the pattern of shirt is {message}.")
-
-
- make_shirt()
- make_shirt("middle")
- make_shirt("small", "smile")
练习 8-5:城市 编写一个名为 describe_city()的函数,它接受一座城市的名字 以及该城市所属的国家。这个函数应打印一个简单的句子,下面是一个例子。 Reykjavik is in Iceland. 给用于存储国家的形参指定默认值。为三座不同的城市调用这个函数,且其中至少有一座城市不属于默认国家。
- def describe_city(city, country='China'):
- print(city + " is in " + country)
-
-
- describe_city('Beijing')
- describe_city('Guangzhou')
- describe_city('Reykjavik', 'Iceland')
练习 8-6:城市名 编写一个名为 city_country()的函数,它接受城市的名称及其 所属的国家。这个函数应返回一个格式类似于下面的字符串: "Santiago, Chile" 至少使用三个城市国家对来调用这个函数,并打印它返回的值。
- def city_country(city, country):
- city_country_info = city.title() + "," + country.title()
- return city_country_info
-
-
- city_country1 = city_country('beijing', 'china')
- print(city_country1)
-
- city_country2 = city_country('shanghai', 'china')
- print(city_country2)
-
- city_country3 = city_country('shenzhen', 'china')
- print(city_country3)
练习 8-7:专辑 编写一个名为 make_album()的函数,它创建一个描述音乐专辑的 字典。这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典。使用 这个函数创建三个表示不同专辑的字典,并打印每个返回的值,以核实字典正确地存储 了专辑的信息。 给函数 make_album()添加一个默认值为 None 的可选形参,以便存储专辑包含的歌 曲数。如果调用这个函数时指定了歌曲数,就将该值添加到表示专辑的字典中。调用这 个函数,并至少在一次调用中指定专辑包含的歌曲数。
- def make_album(name, album, num=''):
- artist_album = {'artist': name, 'album': album} # 返回字典
- if num:
- artist_album['number'] = num
- return artist_album
-
-
- album1 = make_album('n1', 'a1')
- print(album1)
- album2 = make_album('n2', 'a2', '10')
- print(album2)
练习 8-8:用户的专辑 在为完成练习 8-7 编写的程序中,编写一个 while 循环, 让用户输入专辑的歌手和名称。获取这些信息后,使用它们来调用函数 make_album() 并将创建的字典打印出来。在这个 while 循环中,务必提供退出途径
- def make_album(name, album, num=''):
- artist_album = {'artist': name, 'album': album} # 返回字典
- if num:
- artist_album['number'] = num
- return artist_album
-
-
- print(f"You can enter quit to stop")
- while True:
- name_input = input("the artist' name:")
- if name_input == 'quit':
- break
- album_input = input("the artist' album:")
- if album_input == 'quit':
- break
- artist_album_input = make_album(name_input, album_input)
- print(artist_album_input)
练习 8-9:消息 创建一个列表,其中包含一系列简短的文本消息。将该列表传递 给一个名为 show_messages()的函数,这个函数会打印列表中的每条文本消息。
练习 8-10:发送消息 在你为完成练习 8-9 而编写的程序中,编写一个名为 send_ messages()的函数,将每条消息都打印出来并移到一个名为 sent_messages 的列表中。 调用函数 send_messages(),再将两个列表都打印出来,确认正确地移动了消息。
- # 8-9,8-10
- def show_messages(messages):
- for message in messages:
- print(message)
-
-
- def send_messages(messages1):
- messages2 = messages1
- return messages2
-
-
- m1 = {'hello', 'world'}
- show_messages(m1)
- m2 = send_messages(m1)
- show_messages(m2)
练习 8-11:消息归档 修改你为完成练习 8-10 而编写的程序,在调用函数 send_ messages()时,向它传递消息列表的副本。调用函数 send_messages()后,将两个列表都 打印出来,确认保留了原始列表中的消息。
- def show_messages(messages):
- for message in messages:
- print(message)
-
-
- def send_messages(messages1):
- messages2 = messages1
- print(messages1)
- print(messages2)
-
-
- m1 = {'hello', 'world'}
- show_messages(m1)
- send_messages(m1)
练习 8-12:三明治 编写一个函数,它接受顾客要在三明治中添加的一系列食材。 这个函数只有一个形参(它收集函数调用中提供的所有食材),并打印一条消息,对顾 客点的三明治进行概述。调用这个函数三次,每次都提供不同数量的实参。
- def make_sandwish(*toppings):
- print("\nMaking a sandwish with the following topping:")
- for topping in toppings:
- print(topping)
-
- make_sandwish('ham')
- make_sandwish('vegatable', 'ham')
- make_sandwish('vegatable', 'ham', 'butter')
练习 8-13:用户简介 复制前面的程序 user_profile.py,在其中调用 build_profile() 来创建有关你的简介。调用这个函数时,指定你的名和姓,以及三个描述你的键值对
- def build_profile(first, last, **user_info):
- user_info['first_name'] = first
- user_info['last_name'] = last
- return user_info
-
-
- user_profile =build_profile('Ryan', 'Le',
- country='China',
- location='Guangzhou',
- field='IT')
- print(user_profile)
练习 8-14:汽车 编写一个函数,将一辆汽车的信息存储在字典中。这个函数总是 接受制造商和型号,还接受任意数量的关键字实参。这样调用该函数:提供必不可少的 信息,以及两个名称值对,如颜色和选装配件。
- def make_car(maker, model, **car_info):
- information = {'car_maker': maker, 'car_model': model}
- for key, value in car_info.items():
- information[key] = value
- return information
-
-
- car = make_car('subaru', 'outback', color='blue', tow_package=True)
- print(car)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。