import turtle def faktorial(n): if n < 0: return -1 if n == 0: return 1 return n*faktorial(n-1) print("faktorial(3)= ", faktorial(3)) def Euclid(a,b): if a < b: a, b = b, a if b == 0: return a else: return Euclid(a-b, b) print("nsd(28,567)=",Euclid(7*4,7*81)) seznam = [0,1,2,3,4] #sum = 10 def list_sum1(lst): if len(lst) == 1: return lst[0] return lst[0] + list_sum1(lst[1:]) print("list_sum1(lst)=",list_sum1(seznam)) def list_sum2(lst): if len(lst) == 1: return lst[0] else: half = len(lst)//2 return list_sum2(lst[:half]) + list_sum2(lst[half:]) print("list_sum2(lst)=",list_sum2(seznam)) ##zelva = turtle.Turtle() ##zelva.speed(10) ## ##def Tree(length, i): ## if i == 0: ## return ## zelva.fd(length) ## ## zelva.right(30) ## Tree(length/2, i-1) ## zelva.left(60) ## Tree(length/2, i-1) ## zelva.right(30) ## ## zelva.bk(length) ## ##zelva.left(90) ##Tree(100, 5) ##def Side(length, i): ## if i == 0: ## zelva.fd(length) ## return ## short = length // 3 ## ## Side(short,i-1) ## zelva.right(60) ## Side(short,i-1) ## zelva.left(120) ## Side(short,i-1) ## zelva.right(60) ## Side(short,i-1) ## ##def Koch(length, lvl): ## for i in range(3): ## Side(length, lvl) ## zelva.left(120) ## ##Koch(200,3) ##def triangle(length): ## for i in range(3): ## zelva.fd(length) ## zelva.left(120) ## ## ##def Sierpinsky(length,i): ## if i == 0: ## triangle(length) ## return ## lhalve = length // 2 ## ## zelva.fd(lhalve) ## Sierpinsky(lhalve,i-1) ## zelva.left(60) ## zelva.fd(lhalve) ## zelva.left(60) ## Sierpinsky(lhalve,i-1) ## zelva.left(60) ## zelva.fd(lhalve) ## zelva.left(60) ## Sierpinsky(lhalve,i-1) ## zelva.fd(lhalve) ## zelva.left(120) ## ##Sierpinsky(100,2)