def?show_magicians(magicians):
????for?magician?in?magicians:
????print(magician)
def?make_great(magicians):
????great_magicians?=?[]
????while?magicians:
????????new_magician?=?magicians.pop()
????????great_magician?=?"the?great?"?+?new_magician
????????great_magicians.append(great_magician)
????print(great_magicians)
magician_list?=?['ada1',?'jack1',?'mai1','tom1']
check_great?=?make_great(magician_list)
#print(check_great)
show_magicians(check_great)TypeError:?'NoneType'?object?is?not?iterable為什么會報錯?為什么print(check_great)會返回none?make_great生成的列表為什么無法賦值給到check_great?我的目的是調(diào)用show_magicians函數(shù)打印出make_great函數(shù)生成的列表,應該怎樣實現(xiàn)呢?
3 回答

慕后端443704
TA貢獻2條經(jīng)驗 獲得超0個贊
# 一共兩處錯誤,已經(jīng)在代碼里標注了,下列代碼實測可運行,應該能達到你的效果
def show_magicians(magicians):
? ? for magician in magicians:
? ? ? ? print(magician)? ? ? ?# 你沒有縮進
?
def make_great(magicians):
? ? great_magicians = []
? ? while magicians:
? ? ? ? new_magician = magicians.pop()
? ? ? ? great_magician = "the great " + new_magician
? ? ? ? great_magicians.append(great_magician)
? ? return great_magicians? ? # print是沒有返回值的,要用return
?
magician_list = ['ada1', 'jack1', 'mai1','tom1']
check_great = make_great(magician_list)
#print(check_great)
show_magicians(check_great)
添加回答
舉報
0/150
提交
取消