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
|
def fact(n: int): return n * fact(n-1) if n != 0 else 1
def compound(p: float, r: float, y: int) -> float:
return p if y == 0 else compound(p*r, r, y-1)
def print_fib(a, b, l):
print(a)
print(b)
print_next_fib(a, b, l-3)
def print_next_fib(a: int, b: int, l: int):
if l == 0:
print(a+b)
return
print(a+b)
return print_next_fib(b, a+b, l-1)
def fib_nth(n: int):
if n == 1:
return 0
if n == 2:
return 1
return fib_nth(n-1) + fib_nth(n-2)
def draw_underline(l: int):
return '-'*l
def test():
range_end = 15
print(f"Printing series of factorials from 1 to {range_end}\n{draw_underline(20)}")
for i in range(1, range_end):
print(fact(i), end=", " if i < range_end-1 else "\n")
fib_until = 15
print(f"\n\nPrinting fibonacci sequence to {fib_until}\n{draw_underline(20)}")
print_fib(0, 1, fib_until)
print(fib_nth(5))
print(compound(36800*4, 1.06, 10) / (43129-3170*12))
def payback(tuition: int, rate: int, salary: int):
years = 0
remaining = tuition * 4
while remaining > 0:
remaining -= salary
years += 1
remaining *= rate
print(f"Year {years}: remaining: {remaining}")
print(years)
if __name__ == "__main__":
test()
|