我被困在字典格式(鍵是父母,值是兒童)的給定家族樹的遞歸函數。遞歸函數和家族樹
每例如family_tree = {"Adam": ["Michael", "Clara", "Daniel"], "Clara": [], "Daniel": ["Elizabeth", "Hans"], etc.}
亞當在這個例子中有3個孩子,其中之一是克拉拉。她沒有孩子等等,非常簡單。
現在,爲遞歸函數。
- 寫一個函數深度(人),返回人的家譜的深度。
如果一個人沒有孩子,她的家庭樹的深度是1.如果他有孩子但沒有孫子,深度是2.如果他有孫子但沒有孫子女,深度是3.等等。
不應該這樣工作嗎?
def children(person): return family_tree[person]
def depth(person): if not children(person): return 1 for child in children(person): a = depth(child) if a!= None: return a + 1
謝謝! :)
您能否證明您在解決這個問題上的任何努力,給出一個想法,您需要幫助的地方? –
哦,我一般需要遞歸幫助。我不知道如何解決這個問題。 –
做了第二個!更新了問題。 :) –