這個功能,我從this question了,如下:遞歸函數來了:「類型錯誤:‘詮釋’對象不是可迭代」
def f(n, p, k, t):
return sum(sum(1 if n == 3 else
(0 if k == 1 else
(1/36) * f(n-1, p, k-1, t-(max(p,i)))
for i in xrange(1, 7)))
for p in xrange(1, 7))
print sum(f(5,j,3,15) for j in xrange(1, 7))
當我運行它,我得到這個長回溯錯誤序列結束於:
File "C:/Users/r/Documents/school/IB/Computer Science HL/Other Languages/Problem240/Problem240 - recursive2.py", line 6, in <genexpr>
for p in xrange(1, 7))
TypeError: 'int' object is not iterable
有人可以告訴我發生了什麼事嗎?我的代碼有什麼問題,我將如何解決它?謝謝!
我有一種感覺,它是關於括號 – Raufio 2013-02-21 00:44:08
真的沒有理由把它寫成一個巨大的表達。你只是在尋找「我在這裏弄錯了什麼?」或者「我怎樣才能以一種足夠可讀的方式來組織它,以便我自己調試?」 – abarnert 2013-02-21 00:47:33