我正在為學校做課程作業,問題如下,
元組的元素可以被初始化,使得 tup[i] == i 以遞回方式如下:
- 大小為 0 的元組已初始化
- 否則:
- 將元組的最后一個元素設定為 n-1(其中 n 是元組中的元素數)
- 初始化由前 n-1 個元素組成的元組部分
撰寫一個名為 init 的函式,它接受一個引數,一個適當長度的元組,并回傳一個如上所述初始化的元組。
def init(tupin):
if len(tupin) == 0:
return tupin
else:
return (0,) init(tupin[1:])
到目前為止,這就是我所能得到的。
uj5u.com熱心網友回復:
您跳過了將元組的最后一個元素設定為n-1的步驟。您可以通過附加(len(tupin)-1,).
def init(tupin):
if len(tupin) == 0:
return tupin
else:
return init(tupin[1:]) (len(tupin)-1, )
uj5u.com熱心網友回復:
也許是這樣的:
def init(tupin):
if not isinstance(tupin, tuple):
raise TypeError("Please, supply a tuple to the function")
if len(tupin):
return init(tupin[:-1]) (len(tupin)-1,)
else:
return tupin
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/507832.html
