top
回復 1# caterpillar


不好意思,想請問一下有關你寫的code
print((lambda n: (lambda f: [f(i, f) for i in range(0, n)]))(10)(lambda n, fib: n if(n == 0 or n == 1) else fib(n - 1, fib) + fib(n - 2, fib)))
寫法上有一點不太懂

知道裡面有用到 list conprehension, (lambda f: [f(i, f) for i in range(0, n)])
在這之後接的 (10) 以及 (lambda n, fib: n if(n == 0 or n == 1) else fib(n - 1, fib) + fib(n - 2, fib)) 這樣的寫法
程式是怎麼去判斷的?

謝謝你的指教

TOP