Skip to content

Commit d26f9c2

Browse files
committed
fib and reverse
1 parent 4517aea commit d26f9c2

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

fib.py

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
""" Fibonacci sequence. """
2+
3+
4+
def fib(n):
5+
if n < 2:
6+
return 1
7+
else:
8+
return fib(n-1) + fib(n-2)
9+
10+
11+
def fib_iter(n):
12+
n_minus_1 = 1
13+
n_minus_2 = 0
14+
current = 1
15+
for i in range(n):
16+
current = n_minus_1 + n_minus_2
17+
n_minus_2 = n_minus_1
18+
n_minus_1 = current
19+
20+
return current
21+
22+
23+
if __name__ == '__main__':
24+
print([fib(i) for i in range(10)])
25+
print([fib_iter(i) for i in range(10)])
26+
print(fib_iter(1000))
27+

reverse.py

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
""" Reverse function recursively and iteratively. """
2+
3+
4+
def reverse(lst):
5+
if lst == []:
6+
return lst
7+
else:
8+
return reverse(lst[1:]) + [lst[0]]
9+
10+
11+
def reverse_iter(lst):
12+
for i in range(len(lst) // 2):
13+
lst[i], lst[-1*(i+1)] = lst[-1*(i+1)], lst[i]
14+
return lst
15+
16+
17+
if __name__ == '__main__':
18+
print(reverse(range(10)))
19+
print(reverse_iter(range(10)))
20+

0 commit comments

Comments
 (0)