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)
运行结果:
这个代码还有很多需要完善的,比如:
如果用户不知道专辑中歌曲的数量,可否通过一个别的按键跳过此步骤;
如果在输入歌曲数量这一步,用户故意输入一个非整数,该如何进行反馈
......
不过我这个小小白暂时搞不定,大佬可以在评论区指点一下。