Числа Фибоначчи, с однострочником в Python 3? - PullRequest
42 голосов
/ 08 февраля 2011

Я знаю, что нет ничего плохого в том, чтобы писать с правильной структурой функции, но я хотел бы знать, как я могу найти n-е число Фибоначчи с большинством Pythonic способом с одной строкой.

Я написал этот код, но мне он показался не лучшим образом:

>>> fib=lambda n:reduce(lambda x,y:(x[0]+x[1],x[0]),[(1,1)]*(n-2))[0]
>>> fib(8)
13

Как это может быть лучше и проще?

Ответы [ 21 ]

0 голосов
/ 21 февраля 2014

Похожие:

    def fibonacci(n):
      f=[1]+[0]
      for i in range(n):
        f=[sum(f)] + f[:-1]
      print f[1]
...