题目:
8-9 魔术师 :创建一个包含魔术师名字的列表,并将其传递给一个名为show_magicians() 的函数,这个函数打印列表中每个魔术师的名字。
8-10 了了不不起起的的魔魔术术师师 :在你为完成练习8-9而编写的程序中,编写一个名为make_great() 的函数,对魔术师列表进行修改,在每个魔术师的名字中都加入字样“the Great”。调用函数show_magicians() ,确认魔术师列表确实变了。
8-11 不不变变的的魔魔术术师师 :修改你为完成练习8-10而编写的程序,在调用函数make_great() 时,向它传递魔术师列表的副本。由于不想修改原始列表,请返回修改后的
列表,并将其存储到另一个列表中。分别使用这两个列表来调用show_magicians() ,确认一个列表包含的是原来的魔术师名字,而另一个列表包含的是添加了字
样“the Great”的魔术师名字
代码:
#!usr/bin/python # _*_ coding:utf-8 _*_ #魔术师 def show_magicians(magicians): """打印列表中魔术师的名字""" for magician in magicians: print(magician) magicians = ["大卫科波菲尔","麦克威尔逊","本杰明"] show_magicians(magicians) #了不起的魔术师 def make_great(magic_people,changed_name): """在列表中每个魔术师名字中加入“伟大的”""" while magic_people: new_name = magic_people.pop() new_name = "伟大的" + new_name changed_name.append(new_name) def show_magicians(changed_name): """显示里的魔术师名字""" for magician in changed_name: print(magician) magic_people = ["大卫科波菲尔","麦克威尔逊","本杰明"] changed_name = [] make_great(magic_people,changed_name) show_magicians(changed_name) #不变的魔术师 def make_great(magic_people2,changed_name): """在列表中每个魔术师名字中加入“伟大的”""" while magic_people2: new_name = magic_people2.pop() new_name = "伟大的" + new_name changed_name.append(new_name) return changed_name def show_magicians(changed_name): """显示里的魔术师名字""" for magician in changed_name: print(magician) magic_people = ["大卫科波菲尔","麦克威尔逊","本杰明"] print(magic_people) changed_name = [] change_name = make_great(magic_people[:],changed_name) print(change_name) show_magicians(changed_name)