这个函数为什么没办法得到预期结果呢?

#ex8-9 make_great()
#编写make_great()的函数,对魔术师列表进行修改,在每个魔术师的名字中都加入字样"the Great"
#调用函数show_magicians(),确认魔术师列表确实改变了
def make_great(magicians):
    """这个函数没办法符合预期运行,我没想明白为什么。。。"""
    for magician in magicians:
        magician="the Great "+magician

    return magicians

def show_magicians(magicians):
    for magician in magicians:
        print(magician.title())

magicians_name=['ann','anna','jenny']

make_great(magicians_name)
show_magicians(magicians_name)

运行出来是Ann,Anna,Jenny,没有添加the Great在上面是为什么啊?


# ex8-9 make_great()
# 编写make_great()的函数,对魔术师列表进行修改,在每个魔术师的名字中都加入字样"the Great"
# 调用函数show_magicians(),确认魔术师列表确实改变了
def make_great(magicians):
    """这个函数没办法符合预期运行,我没想明白为什么。。。"""
    for magician in range(len(magicians)):
        magicians[magician] = "the Great " + magicians[magician]
    return magicians


def show_magicians(magicians):
    for magician in magicians:
        print(magician.title())


magicians_name = ['ann', 'anna', 'jenny']

make_great(magicians_name)
show_magicians(magicians_name)