Python程式設計-從入門到實戰(習題8-[9-11])
阿新 • • 發佈:2018-12-18
8-9 魔術師:建立一個包含魔術師名字的列表,並將其傳遞給一個名為show_magicians()的函式,這個函式列印列表中每個魔術師的名字。
def show_magicians(magician_names):
for magician_name in magician_names:
print(magician_name.title())
magician_names = ['wolf','wolf01','heaa']
show_magicians(magician_names)
8-10 了不起的魔術師: 在你為完成練習 8-9 而編寫的程式中,編寫一個名為make_great() 的函式,對魔術師列表進行修改,在每個魔術師的名字中都加入字樣“theGreat”。呼叫函式 show_magicians() ,確認魔術師列表確實變了。
方法一:
def show_magicians(magician_names):
for magician_name in magician_names:
print(magician_name.title())
def make_great(magician_names):
for index,magician_name in enumerate(magician_names):
magician_names[index] = "The Great " + magician_name.title()
magician_names = [ 'wolf','wolf01','heaa']
make_great(magician_names)
show_magicians(magician_names)
方法二:
def show_magicians(magician_name_full):
for magician_name in magician_name_full:
print(magician_name.title())
def make_great(magician_names,magician_name_full):
while magician_names:
current_magician_name = magician_names.pop()
magician_name_full.append("The Great " + current_magician_name)
magician_names = ['wolf', 'wolf01', 'heaa']
magician_name_full = []
make_great(magician_names,magician_name_full)
show_magicians(magician_name_full)
8-11 不變的魔術師:修改你為完成練習 8-10 而編寫的程式,在呼叫函式make_great()時,向它傳遞魔術師列表的副本。由於不想修改原始列表,請返回修改後的列表,並將其儲存到另一個列表中。分別使用這兩個列表來呼叫 show_magicians(),確認一個列表包含的是原來的魔術師名字,而另一個列表包含的是添加了字樣“theGreat”的魔術師名字。
def show_magicians(magician_name_full):
for magician_name in magician_name_full:
print(magician_name.title())
def make_great(magician_names,magician_name_full):
while magician_names:
current_magician_name = magician_names.pop()
magician_name_full.append("The Great " + current_magician_name)
magician_names = ['wolf', 'wolf01', 'heaa']
magician_name_full = []
make_great(magician_names[:],magician_name_full)
show_magicians(magician_name_full)
print(magician_names)