2024-04-29 19:02:03 发布
网友
所以我的作业快做完了,但只有在我弄清楚原因之后 当我递归地调用它时,这个循环不会继续。在
我将以一个名字作为输入,并返回他的孩子和父亲作为输出。在
例如,坎基的孩子是撒旦、马兰、乌兰、尤吉语 撒旦的孩子是本和艾伦 马兰没有孩子,我的树看起来像这样:
T=["Kanky",["satan",["ben","ian"],"Alan"],"malan",["yugi","yuppi"]]
我的代码:
老实说,我不想分析你的代码来寻找问题所在,但我知道如何正确处理。在
看看这个:
def find_the_man( T, name, p = None): r = False for i in T: if type( i ) == list: r = find_the_man( i, name, T[0] ) if r: break elif i == name: return ( p, [ i[0] if type(i) == list else i for i in T[ 1: ] ] ) if T.index(i) == 0 else ( T[0], None ) return r T= [ "Kanky", [ "satan", [ "ben", "ian" ], "Alan" ], "malan", [ "yugi", "yuppi" ] ] # function return tuple ( parent, list_of_children ) find_the_man( T, "Kanky" ) # (None, ['satan', 'malan', 'yugi']) find_the_man( T, "satan" ) # ('Kanky', ['ben', 'Alan']) find_the_man( T, "ben" ) # ('satan', ['ian']) find_the_man( T, "malan" ) # ('Kanky', None) find_the_man( T, "yugi" ) # ('Kanky', ['yuppi']) find_the_man( T, "yuppi" ) # ('yugi', None) find_the_man(T, "stranger" )# False
老实说,我不想分析你的代码来寻找问题所在,但我知道如何正确处理。在
看看这个:
相关问题 更多 >
编程相关推荐