Python100例--006

2017-09-05  本文已影响9人  我是怪人我也不美

题目:输出斐波那契数列的第n项
方法一:

# -*- coding:utf-8 -*-
def fib(n):
    a,b = 1,1
    for i in range(n-1):
        a,b = b,a+b
    return a
print "fib(10)=",fib(10)

方法二:

# -*- coding:utf-8 -*-
def fib(n):
    if n == 1 or n == 2:
        return 1
    else:
        return fib(n - 1) + fib(n - 2)
print fib(10)

拓展:输入斐波那契数列的前n项:

# -*- coding:utf-8 -*-
def fib(n):
    if n == 1:
        return [1]
    if n == 2:
        return [1,1]
    fibs = [1,1]
    for i in range(2,n):
        fibs.append(fibs[-1] + fibs[-2])
    return fibs
print fib(10)
上一篇下一篇

猜你喜欢

热点阅读