0
"""
def permNums(inp,sec):
newInp = []
for i in inp:
for j in sec:
if j not in i: newInp.append(i+j) #I put the print after this line
return newInp
b = permNums(permNums(permNums(inp='word',sec='word')))
print b
"""
def permNums(inp):
newInp = []
for i in inp:
for j in 'word':
if j not in i: newInp.append(i+j)
return newInp
b = permNums(permNums(permNums(inp='word')))
print b
我看到它的代碼已被註釋掉,沒有代碼的代碼應該是等價的。註釋掉的代碼會給我一個錯誤,說我只給了1個參數而不是2個。我在哪裏出錯了?爲什麼我的遞歸函數沒有第二個參數?
我試圖把打印功能之後
if j not in i: newInp.append(i+j)
右,中註釋掉的代碼,發現最裏面的功能不被調用但隨後給出了在第2遞歸的錯誤可能是因爲它不採取「秒'作爲一個論點..有人可以爲我清除這個請。
這不是正好在你的代碼的結構,但可以接受並返回一個元組'( newInp,sec)'from來匹配函數簽名newInp,並且嵌套調用將是'permNums(permNums(permNums(('word','word'))))[0]'。 – markw 2014-11-02 15:58:01