python-12-关于def函数&while循环的零基础练习

学习内容:《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呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值