Python编程从入门到实践:动手试一试8-9,8-10,8-11魔术师和了不起的魔术师以及不变的魔术师

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

看到这个题目,啥也不说了,先整起来,创建列表走起,主要是想打印出来显示结果,又搞了个空列表,反正不知道对不对,先整起来在说,对不对,有老师大神们去评判,反正是运行出来了 ,不过题目是这么样的, 写的代码有点超纲了,看到8-10题目,觉得这个下面写的有点超纲了,这不后面全部把题目加进来,修改过来

#创建一个包含魔术师名字的列表,并将其传递给一个名为show_magicians() 的函数
#这个函数打印列表中每个魔术师的名字。
#创建列表magicians
magicians = ['王天娇','李俊龙','吕自强','魏少奇']
#创建空列表X_magicians
x_magicians = []
#定义函数show_magicians(),包含列表magicians和x_magicians
def show_magicians(magicians,x_magicians):
	"""显示打印魔术师名字过程"""
	#while 循环遍历列表
	while magicians:
		#从列表的末尾进行打印,取出列表的值,存储在magician变量里
		magician = magicians.pop()
		#显示以正在打印的魔术师的名字
		print("\n正在打印的魔术师是:" + magician)
		#将打印的魔术师的名字存储在x_magicians列表中去
		x_magicians.append(magician)
		
#定义打印显示结果函数 x,其参数为x_magicians
def make_great(x_magicians):
	#显示已经打印的结果
	print("\n------显示打印结果------")
	#遍历列表x_magicians里面的值
	for name in x_magicians:
		#打印出来
		print("\n伟大的魔术师:"+name)
#调用函数show_magicians,使用[:]创建列表副本
show_magicians(magicians[:],x_magicians)
#打印原有的列表看看是否发生改变
print("-----打印原有的列表-----")
print(magicians)
#调用函数make_great
make_great(x_magicians)
print("-----打印新的列表-----")
print(x_magicians)

运行结果:


正在打印的魔术师是:魏少奇

正在打印的魔术师是:吕自强

正在打印的魔术师是:李俊龙

正在打印的魔术师是:王天娇
-----打印原有的列表-----
['王天娇', '李俊龙', '吕自强', '魏少奇']

------显示打印结果------

伟大的魔术师:魏少奇

伟大的魔术师:吕自强

伟大的魔术师:李俊龙

伟大的魔术师:王天娇
-----打印新的列表-----
['魏少奇', '吕自强', '李俊龙', '王天娇']


------------------
(program exited with code: 0)

请按任意键继续. . .

正常题目的代码应该是这样的:

#创建一个包含魔术师名字的列表,并将其传递给一个名为show_magicians() 的函数
#这个函数打印列表中每个魔术师的名字。
#创建列表magicians
magicians = ['王天娇','李俊龙','吕自强','魏少奇']

#定义函数show_magicians(),包含列表magicians和x_magicians
def show_magicians(magicians):
	"""显示打印魔术师名字过程"""
	for name in magicians:
		print(name)
show_magicians(magicians)


这样去写,应该就不会超纲了

运行结果:

王天娇
李俊龙
吕自强
魏少奇


------------------
(program exited with code: 0)

请按任意键继续. . .

 

你可能感兴趣的:(python练习题)