学习内容:《python编程:从入门到实践》第二版
知识点:
函数def,定义调用,返回值,while交互问问题,if,字典,ture布尔值等综合运用
练习内容:
练习8-6:城市名
编写一个名为city_country()的函数,它接受城市的名称及其所属的国家。这个函数应返回一个格式类似于下面的字符串:[santiago,Chile]至少使用三个城市国家对来调用这个函数,并打印它返回的值。
练习8-7:专辑
编写一个名为make_album()的函数,它创建一个描述音乐专辑的字典。这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典。使用这个函数创建三个表示不同专辑的字典,并打印每个返回的值,以核实字典正确地存储了专辑的信息。
给函数make_album()添加一个默认值为None的可选形参,以便存储专辑包含的歌曲数。如果调用这个函数时指定了歌曲数,就将该值添加到表示专辑的字典中。调用这个函数,并至少在一次调用中指定专辑包含的歌曲数。
练习8-8:用户的专辑
在为完成练习8-7编写的程序中,编写一个while循环,让用户输入专辑的歌手和名称。获取这些信息后,使用它们来调用函数make_album()并将创建的字典打印出来。在这个while循环中,务必提供退出途径。
我的代码&运行结果:
练习8-6
def city_country(city,country):
citycountry = f"{city.title()},{country.title()}"
return citycountry
city_info = city_country('santiago','chile')
print(city_info)
city_info = city_country('beijing','china')
print(city_info)
city_info = city_country('paris','france')
print(city_info)
注意点:
1.定义字符串时,city&country不可以用噢,会报错的,定义字符串和别的变量要区分。
2.return返回的是字符串
3.重新定义一个变量等于函数后,再打印函数,重新定义的东西很多,不要错了。
练习8-7
def make_album(singer_name,album_name):
singer_album = {'singer name':singer_name,'album name':album_name}
return singer_album
album_info = make_album('金玟岐','完美世界')
print(album_info)
album_info = make_album('Jay','范特西')
print(album_info)
album_info = make_album('Taylor Swift','Taylor Swift')
print(album_info)
注意点:
print不需要前面有缩进
print(singer_album)放在return语句后面,根本没有用
def make_album(singer_name,album_name,number = None):
singer_album = {'singer name':singer_name,'album name':album_name}
if number:
singer_album['number'] = number
return singer_album
album_info = make_album('金玟岐','完美世界')
print(album_info)
album_info = make_album('Jay','范特西',10)
print(album_info)
album_info = make_album('Taylor Swift','Taylor Swift')
print(album_info)
练习8-8
def make_album(singer_name,album_name,number = None):
singer_album = {'singer name':singer_name,'album name':album_name}
if number:
singer_album['number'] = number
return singer_album
while True:
singer_name = input("enter the singer's name")
if singer_name == "q":
break
album_name = input("enter the name of album")
if album_name == "q":
break
number = input("enter the number of album")
if number == "q":
break
album_info = make_album(singer_name,album_name,number = None)
print(album_info)
注意点:
1.首先定义好函数,包括return返回值
2.当需要交互时,while拿出来,while ture进入交互的循环中
3.用if设置循环的语句
4.给函数赋值,打印的方式来调用
5.注意最后打印的部分一定要缩进在while之下,不然只能打出最后一个数据
结果是:
总结&问题:
1.返回值一般来说不会显示出来,只有print以后才会显示
2.要实现一次收集很多信息,最后打印出来这个还不会
3.有个疑问 编程很厉害的人,拿到一个题目是怎么解题构思的呢?如果说不是在本章节做这个习题,怎么想起来用函数还是while还是for in呢?