函数返回字典
函数除了可以返回简单的计算值,也可以返回字典。
def create_pets_name(cat_name,dog_name): pets_name={"Cat":cat_name,"dog_name":dog_name} return pets_namepets=create_pets_name("Kitty","Goofy")print(pets)
第一行:定义一个函数,函数有两个形参
第二行:将带有形参的的字典赋值给pets_name 变量
第三行:返回pets_name 变量
第四行:我们将含有实参的create_pets_name函数赋值给pets变量,由于函数返回了一个字典,因此pets事实上是一个字典
第五行:打印pets,即打印字典
看看执行结果:
函数和循环的应用
函数可以和任何结构结合使用,将函数和循环结合,我们可以轻易地重复使用函数:
def create_pets_name(cat_name,dog_name): pets_name={"Cat":cat_name,"dog_name":dog_name} return pets_namewhile True: cat_na=input("please input the cat name :") dog_na=input("please input the cat name :") pets=create_pets_name(cat_na,dog_na) print(pets)
第一行:定义一个函数,函数有两个形参
第二行:将带有形参的的字典赋值给pets_name 变量
第三行:返回pets_name 变量
第四行:while True ,是while循环的一种写法,代表,条件为True时执行函数
第五行:用cat_na 接收用户输入的猫的名字
第六行:用dog_na 接收用户输入的狗的名字
第七行:我们将含有实参的create_pets_name函数赋值给pets变量,由于函数返回了一个字典,因此pets事实上是一个字典
第八行:打印pets,即打印字典
看看执行结果:
程序按我们的方法执行了,但是它不断的让我们输入猫和狗的名字,似乎美版法停下来呢。还记得我们在提到while 循环时提到的无限循环,这也是一种无限循环,我们需要定义一个结束条件,让程序在我们想要停下来的时候能够停下来。
def create_pets_name(cat_name,dog_name): pets_name={"Cat":cat_name,"dog_name":dog_name} return pets_namewhile True: cat_na=input("please input the cat name :") if cat_na == "quit": break dog_na=input("please input the dog name :") if dog_na == "quit": break pets=create_pets_name(cat_na,dog_na) print(pets)
我们看看我们更新过的代码:
第六行:如果用户输入 quit 那么执行下面语句
第七行:break语句将使循环中断
第八行:如果用户输入quit 那么执行下面语句
第九行:break语句将使循环中断
看看执行情况:
现在我们可以在我们想要结束程序的时候输入quit即可。
传递列表给函数
如果我们希望将一些列的宠物名字传递给函数,我们可以尝试使用列表
def pets_name(pet_name): for pet in pet_name: print(pet)pets=['miky','goofy','tom']create_pets_name(pets)
第一行:定义一个pets_name 函数
第二行:通过循环遍历传入的列表
第三行:打印每个遍历的元素
第四行:我们定义了一个宠物的列表
第五行:调用函数,并传入pets列表
执行结果如下:
函数返回列表
pet_list=[]def pets_name(pet_name): pet_list.append(pet_name) return pet_listwhile True: pet=input("请输入宠物名") if pet=="quit": break print(pets_name(pet))
第一行:定义一个空列表
第二行:定义一个pets_name的函数
第三行:将传入的实参添加入列表
第四行:返回列表
第五行:while循环
第六行:获取用户输入并赋值给pet变量,
第七行:如果用户输入的值是quit ,那么执行下面语句
第八行:中断循环
第九行:打印函数返回的列表
看看执行结果
我们每输入一个宠物名,我们就在列表里面增加了这个宠物名
上期答案与本期习题
1.定义一个函数City_info , 它含有两个形参,一个是城市名,一个是国家名,国家名默认为China , 调用函数City_info,并传入一个城市名
def city_info(city,country="China"): print(city + " is in " +country)city_info("BeiJing")
2.定义一个平方运算函数,要求返回计算的结果,调用函数并传入一个数值
def cal_number(number_value): cal_result=number_value**2 return cal_resultprint(cal_number(10))
本期习题:
1. 定义一个函数,有两个形参,这两个形参是一个字典的值,返回这个字典,调用字典并传参,打印调用的结果
2.传递一个列表给函数,并在函数里面遍历这个列表,并打印列表元素