1. 程式人生 > >Python程式設計-從入門到實戰(習題8-[9-11])

Python程式設計-從入門到實戰(習題8-[9-11])

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)