python函数与while循环--小任务3

8-6 城市名:编写一个名为city_country()的函数,它接受城市的名称及其所属的国家。这个函数应返回一个格式类似于下面这样的字符串:

"Santiago, Chile"
至少使用三个城市-国家对调用这个函数,并打印它返回的值。

 



def city_country(name,belong='China'):
    """城市,国家"""
    city_belong=(name.title()+','+belong.title())
    return city_belong
a=city_country('shanghai')
print(a)
b=city_country('beijing')
print(b)
c=city_country(name='A国',belong='Awesome')
print(c)

运行结果:

 8-7 专辑:编写一个名为make_album()的函数,它创建一个描述音乐专辑的字典。这个函数应接受歌手的名字和专辑名,并返回一个包含这两项信息的字典。使用这个函数创建三个表示不同专辑的字典,并打印每个返回的值,以核实字典正确地存储了专辑的信息。
给函数make_album()添加一个可选形参,以便能够存储专辑包含的歌曲数。如果调用这个函数时指定了歌曲数,就将这个值添加到表示专辑的字典中。调用这个函数,并至少在一次调用中指定专辑包含的歌曲数。

 



def make_album(singer_name,album,sing_number=''):
    """歌手,专辑,歌曲数量"""
    result={'singer_name':singer_name,'album':album}
    if sing_number:
        result['sing_number']=sing_number
    return result
form_a=make_album('Joker Xue','The Crossing',sing_number=10)
print(form_a)
form_b=make_album('Michael Jackson','In the Closet')
print(form_b)
form_c=make_album('Ludwig van Beethoven','Mindful Beethoven',sing_number=164)
print(form_c)

运行结果:

 8-8 用户的专辑:在为完成练习8-7编写的程序中,编写一个while循环,让用户输入一个专辑的歌手和名称。获取这些信息后,使用它们来调用函数make_album(),并将创建的字典打印出来。在这个while循环中,务必要提供退出途径。

 


#定义函数
def make_album(singer_name,album,sing_number=''):
    """歌手,专辑,歌曲数量"""
    result={'singer_name':singer_name,'album':album}
    if sing_number:
        result['sing_number']=sing_number
    return result
#用户输入信息
while True:
    print('Please enter what you know about album:')
    #提示用户输入't'可以退出
    print("(enter 't' at any time to quit)")
    singer_n=input("singer's name: ")
    if singer_n=='t':
        break
    alb=input("album name: ")
    if alb=='t':
        break
    #如果此项不需要,按enter即可
    sing_n=input("How many sings in the album(enter 'enter' if you don't know): ")
    if sing_n=='t':
        break
    make_alb=make_album(singer_n,alb,sing_number=sing_n)
    print(make_alb)

运行结果:

 这个代码还有很多需要完善的,比如:

如果用户不知道专辑中歌曲的数量,可否通过一个别的按键跳过此步骤;

如果在输入歌曲数量这一步,用户故意输入一个非整数,该如何进行反馈

......

不过我这个小小白暂时搞不定,大佬可以在评论区指点一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Awesome╮(﹀_﹀)╭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值