python编程从⼊门到实践作业8
python编程从⼊门到实践作业8
第8章函数
8-1 消息:编写⼀个名为display_message()的函数,它打印⼀个句⼦,指出你在本章学的是什么。
调⽤这个函数,确认显⽰的消息正确⽆误。
def display_message():
print('本章学习函数')
display_message()
8-2 喜欢的图书:编写⼀个名为favorite_book()的函数,其中包含⼀个名为title的形参。
这个函数打印⼀条消息,如One of my favorite books is Alicein Wonderland。
调⽤这个函数,并将⼀本图书的名称作为实参传递给它
def favorite_book(title):
print('One of my favorite books is: '+ title)
favorite_book('python 从⼊门到放弃')
8-3 T恤:编写⼀个名为make_shirt()的函数,它接受⼀个尺码以及要印到T恤上的字样。
这个函数应打印⼀个句⼦,概要地说明T恤的尺码和字样。使⽤位置实参调⽤这个函数来制作⼀件T恤;
再使⽤关键字实参来调⽤这个函数。
def make_shirt(size, title):
print("The T-shirt's size is: "+ size +" ,title is : "+ title)
make_shirt("L","Hello World!")
8-4 ⼤号T恤:修改函数make_shirt(),使其在默认情况下制作⼀件印有字样“Ilove Python”的⼤号T恤。
调⽤这个函数来制作如下T恤:⼀件印有默认字样的⼤号T恤、⼀件印有默认字样的中号T恤和⼀件印有其他字样的T恤(尺码⽆关紧要)。
def make_shirt(size ="L", title ="I love Python"):
print("The T-shirt's size is: "+ size +" ,title is : "+ title)
make_shirt()
8-5 城市:编写⼀个名为describe_city()的函数,它接受⼀座城市的名字以及该城市所属的国家。这个函数应打印⼀个简单的句⼦,
如Reykjavik is inIceland。给⽤于存储国家的形参指定默认值。为三座不同的城市调⽤这个函数,且其中⾄少有⼀座城市不属于默认国家。
def describe_city(city, country ="中国"):
print(city +" 是在 "+ country)
describe_city("北京")
describe_city("深圳","中国")
describe_city("东京","⽇本")
8-6 城市名:编写⼀个名为city_country()的函数,它接受城市的名称及其所属的国家。
这个函数应返回⼀个格式类似于下⾯这样的字符串:[插图]⾄少使⽤三个城市-国家对调⽤这个函数,并打印它返回的值。
def city_country(city, country):
print("⾄少使⽤三个"+ city +"-"+ country)
city_country("上海","中国")
8-7 专辑:编写⼀个名为make_album()的函数,它创建⼀个描述⾳乐专辑的字典。
这个函数应接受歌⼿的名字和专辑名,并返回⼀个包含这两项信息的字典。
使⽤这个函数创建三个表⽰不同专辑的字典,并打印每个返回的值,以核实字典正确地存储了专辑的信息。
给函数make_album()添加⼀个可选形参,以便能够存储专辑包含的歌曲数。
如果调⽤这个函数时指定了歌曲数,就将这个值添加到表⽰专辑的字典中。
调⽤这个函数,并⾄少在⼀次调⽤中指定专辑包含的歌曲数。python编程:从入门到实践第二版
def make_album(player, song, count =1):
albums ={"player":player,"song":song,"count":count}
print(albums)
make_album("陈奕迅","浮夸",1)
make_album("林俊杰","江南")
make_album("邓紫棋","泡沫")
8-8 ⽤户的专辑:在为完成练习8-7编写的程序中,编写⼀个while循环,让⽤户输⼊⼀个专辑的歌⼿和名称。
获取这些信息后,使⽤它们来调⽤函数make_album(),并将创建的字典打印出来。在这个while循环中,务必要提供退出途径。
def make_album(player, song, count =1):
albums ={"player":player,"song":song,"count":count}
print(albums)
while True:
player =input("歌⼿: ")
song =input("歌曲: ")
if player =="q"or song =="q":
break
make_album(player, song)
8-9 魔术师:创建⼀个包含魔术师名字的列表,并将其传递给⼀个名为show_magicians()的函数,
这个函数打印列表中每个魔术师的名字。
def show_magicians(magicians):
for m in magicians:
print(m)
magicians =["Jack","Rose","Alice"]
show_magicians(magicians)
8-10 了不起的魔术师:在你为完成练习8-9⽽编写的程序中,编写⼀个名为make_great()的函数,
对魔术师列表进⾏修改,在每个魔术师的名字中都加⼊字样“the Great”。调⽤函数show_magicians(),
确认魔术师列表确实变了。
def make_great(magicians):
for i in range(len(magicians)):
magicians[i]="the Great "+ magicians[i]
magicians =["Jack","Rose","Alice"]
make_great(magicians)
show_magicians(magicians)
8-11 不变的魔术师:修改你为完成练习8-10⽽编写的程序,在调⽤函数make_great()时,向它传递魔术师列表的副本。
由于不想修改原始列表,请返回修改后的列表,并将其存储到另⼀个列表中。分别使⽤这两个列表来调⽤show_magicians(),确认⼀个列表包含的是原来的魔术师名字,⽽另⼀个列表包含的是添加了字样“the Great”的魔术师名字。
def make_great(magicians):
for i in range(len(magicians)):
magicians[i]="the Great "+ magicians[i]
return magicians
great_magicians =[]
magicians =["Jack","Rose","Alice"]
great_magicians = make_great(magicians[:])
show_magicians(magicians)
show_magicians(great_magicians)
8-12 三明治:编写⼀个函数,它接受顾客要在三明治中添加的⼀系列⾷材。这个函数只有⼀个形参(它收集函数调⽤中提供的所有⾷材),
并打印⼀条消息,对顾客点的三明治进⾏概述。调⽤这个函数三次,每次都提供不同数量的实参。
def get_ingredients(*ingredients):
print("三明治包括:")
for ingredient in ingredients:
print(ingredient)
get_ingredients("⽕腿")
get_ingredients("⽕腿","鸡蛋")
get_ingredients("⽕腿","鸡蛋","⽣菜")
8-13 ⽤户简介:复制前⾯的程序user_profile.py,在其中调⽤build_profile()来创建有关你的简介;
调⽤这个函数时,指定你的名和姓,以及三个描述你的键-值对。
def build_profile(first, last,**user_info):
profile ={}
profile['first_name']= first
profile['last_name']= last
for key, value in user_info.items():
profile[key]= value
return profile
user_profile = build_profile('三','张', location ='红树福苑', height ='168', weight ='70kg')
print(user_profile)
8-14 汽车:编写⼀个函数,将⼀辆汽车的信息存储在⼀个字典中。
这个函数总是接受制造商和型号,还接受任意数量的关键字实参。这样调⽤这个函数:提供必不可少的信息,以及两个名称—值对,如颜⾊和选装配件。
这个函数必须能够像下⾯这样进⾏调⽤:
car = make_car(‘subaru’, ‘outback’, color=‘blue’, tow_package=True)
打印返回的字典,确认正确地处理了所有的信息。
def make_car(factory, model,**other_infos):
car ={}
car['factory']= factory
car['model']= model
for key, value in other_infos.items():
car[key]= value
return car
car = make_car('奥迪','RS7', color='black', tow_package=True)
8-15 打印模型:将⽰例print_models.py中的函数放在另⼀个名为printing_functions.py的⽂件中;
在print_models.py的开头编写⼀条import语句,并修改这个⽂件以使⽤导⼊的函数。
此处没有到print_models.py⽂件,简单写了⼀个say_hello代替,不影响
#printing_functions.py
def say_hello(name):
print("你好 "+ name)
#print_models.py
import printing_functions as pf
pf.say_hello("⼩明")
8-16 导⼊:选择⼀个你编写的且只包含⼀个函数的程序,并将这个函数放在另⼀个⽂件中。在主程序⽂件中,使⽤下述各种⽅法导⼊这个函数,再调⽤它:
import module_name
from module_name import function_name
from module_name import function_name as fn
import module_name as asmn
from module_name import *
#printing_functions.py
def say_hello(name):
print("你好 "+ name)
#print_models.py
import printing_functions
from printing_functions import say_hello
from printing_functions import say_hello as say
import printing_functions as pf
from printing_functions import*
say_hello("⼩明")
say("⼩明")
pf.say_hello("⼩明")
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论