/
fibonacci.py
71 lines (61 loc) · 1.22 KB
/
fibonacci.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env python
# -*- coding: utf8 -*-
# Soubor: fibonacci.py
# Datum: 07.05.2015 10:33
# Autor: Marek Nožka, nozka <@t> spseol <d.t> cz
# Licence: GNU/GPL
# Úloha: Fibonacciho posloupnost
############################################################################
from __future__ import division, print_function, unicode_literals
def fib(n):
if n == 0:
return 0
elif n == 1:
return 1
elif n > 1:
i = 2
x, y = 0, 1
while i <= n:
i += 1
vysledek = x + y
x, y = y, vysledek
return vysledek
else:
return None
def fibR(n):
if n == 0:
return 0
elif n == 1:
return 1
elif n > 1:
return fibR(n-2) + fibR(n-1)
else:
return None
def fibG(n):
yield 0
yield 1
x, y = 0, 1
i = 2
while i <= n:
yield x + y
x, y = y, x+y
i += 1
return
# n = 10
# print(fib(n))
# print(fibR(n))
g = fibG(10)
print(g.next())
print(g.next())
print(g.next())
print(g.next())
print(g.next())
print(g.next())
print(g.next())
print(g.next())
print(g.next())
print('-----------------')
for i in fibG(10):
print(i)
gen = [x*x for x in range(10)]
print (gen)