课后练习、十四

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)


# ***************************************

猜你喜欢

转载自blog.csdn.net/weixin_44388856/article/details/85837067