Python 斐波那契数列
Fibonacci Sequence
# fibonacci sequence 斐波那契数列 def fibonacci_for(n): # 使用for循环返回n位斐波那契数列列表 li = [] for i in range(n+1): if i == 0 or i == 1: li.append(1) else: li.append(li[i-2] + li[i-1]) return li def fibonacci_sequence(over, x=1, y=1): # 返回一个over值以内的斐波那契数列列表 if x <= over: return [x] + fibonacci_sequence(over, y, x+y) else: return [] def fibonacci_count(n, x=1, y=1, count=0): # 使用递归返回n位斐波那契数列列表 if count <= n: count += 1 return [x] + fibonacci_count(n, y, x+y, count) else: return [] def fibonacci_index(index, x=1, y=1, count=0): # 使用递归返回index位置的斐波那契数值 if count == index: return x else: count += 1 return fibonacci_index(index, y, x+y, count) def fibonacci_short(x): # 极短版斐波那契数列 if x < 2: return 1 return fibonacci_short(x-2) + fibonacci_short(x-1) print(fibonacci_for(12)) print(fibonacci_sequence(300)) print(fibonacci_count(12)) print(fibonacci_index(12)) print(fibonacci_short(12))
Resistance is Futile!