《python编程从入门到实践》第八章函数_动手试一试(4)

说在前面。

分享交流,乐于探讨。《python编程从入门到实践》自学。

8-9 魔术师:创建一个包含魔术师名字的列表,并将其传递给一个名为show_magicians()的函数,这个函数打印列表中每个魔术师的名字。

8-10 了不起的魔术师:在你为完成练习 8-9 而编写的程序中,编写一个名为make_great()的函数,对魔术师列表进行修改,在每个魔术师的名字中都加入字样“the Great”。调用函数 show_magicians(),确认魔术师列表确实变了。

8-11 不变的魔术师:修改你为完成练习 8-10 而编写的程序,在调用函数make_great()时,向它传递魔术师列表的副本。由于不想修改原始列表,请返回修改后的列表,并将其存储到另一个列表中。分别使用这两个列表来调用 show_magicians(),确认一个列表包含的是原来的魔术师名字,而另一个列表包含的是添加了字样"the Great"的魔术师名字。

# -*- coding:utf-8 -*- 
# coding=gbk

#动手试一试8-6
def show_magicians (list_name):
    """ 打印列表中每个魔术师的名字 """
    for name in list_name:
        print(name.title())

def make_great (list_name, great_maked):
    """ 在列表中添加the Great字样"""
    for name in list_name:#这里遍历列表其实还可以用前面的例子pop()一个一个弹出来,一样的。
        great_name = 'the Great ' + name # 因为列表都是字符串,所以我直接相连
        great_maked.append(great_name)
    
    return great_maked	#我这里直接返回添加好字样的列表。方便操作
    
magicians_name = ['harry houdini', 'criss angel', 'cyril']
show_magicians(magicians_name)

great_model = []
#修改成副本:用切片表示法[:]
show_magicians (make_great(magicians_name[:], great_model))	
show_magicians(magicians_name) # 验证8-11的效果
def make_great (list_name, great_maked):
    """ 在列表中添加the Great字样"""
    for name in list_name:
        great_name = 'the Great ' + name
        great_maked.append(great_name)
    #不要用return清楚点的话。8-10的函数也可以这么写,调用的话如下

great_model = []
make_great(magicians_name[:], great_model)
show_magicians(great_model)

如果出现SyntaxError: (unicode error) ‘utf-8’ codec can’t decode byte 0xb4 in position 1: invalid start byte。这样的错误的话,更改一下编码模式如下图
这是geany更改上述错误的方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值