課後練習、十四
阿新 • • 發佈:2019-01-07
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) # ***************************************