8-12 三明治 :编写一个函数,它接受顾客要在三明治中添加的一系列食材。这个函数只有一个形参(它收集函数调用中提供的所有食材),并打印一条消息,对顾客 点的三明治进行概述。调用这个函数三次,每次都提供不同数量的实参。
8-13 用户简介 :复制前面的程序user_profile.py,在其中调用build_profile() 来创建有关你的简介;调用这个函数时,指定你的名和姓,以及三个描述你的键-值 对。
8-14 汽车 :编写一个函数,将一辆汽车的信息存储在一个字典中。这个函数总是接受制造商和型号,还接受任意数量的关键字实参。这样调用这个函数:提供必不可 少的信息,以及两个名称—值对,如颜色和选装配件。这个函数必须能够像下面这样进行调用:
car = make_car('subaru', 'outback', color='blue', tow_package=True)
打印返回的字典,确认正确地处理了所有的信息。
要点:懂得在函数里处理字典,学会使用一形多实,或多形多实
def smz(*sc):
print(sc)
smz('A') # 未加*号前只能调用一个实参。
smz('D', 'E', 'F') # 加*号多个调用。
smz('G', 'H', 'I')
# ***************************************
def build_profile(first, last, **user_info):# **号,函数接受参数为字典。
profile = {} # 这里有两个字典 user_info 和 profile。
profile['first_name'] = first # 添加键值对。
profile['last_name'] = last
for key, value in user_info.items():# 遍历user_info中的键值对。
profile[key] = value # 赋值到profile,这里的value属于user_info。
return profile # 返回完成函数定义。
user_profile = build_profile('W', 'F',
location = 'princeton',
field = 'physics')
print(user_profile)
# ***************************************
def make_car(s, c, **d):
dic = {}
dic['mfrs'] = s
dic['model'] = c
for key, value in d.items():
dic[key] = value
return dic
car = make_car('subaru', 'outback', color='blue', tow_package=True)
print(car)
# ***************************************