《Python从入门到实践》--第八章 函数 课后练习3

题目:

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)

猜你喜欢

转载自www.cnblogs.com/2tomcat/p/12462072.html
今日推荐