#koch dude
def koch(myTurtle, resolution, linelen):
if resolution == 0:
myTurtle.forward(linelen)
else:
koch(myTurtle, resolution-1, linelen/3)
myTurtle.left(60)
koch(myTurtle, resolution - 1, linelen / 3)
myTurtle.right(120)
koch(myTurtle, resolution - 1, linelen / 3)
myTurtle.left(60)
koch(myTurtle, resolution - 1, linelen / 3)
#turtle power
import turtle
import math
myTurtle = turtle.Turtle()
myWin = turtle.Screen()
myTurtle.speed(0)
myTurtle.hideturtle()
"""the following will draw a koch snowflake
myTurtle.penup()
myTurtle.backward(200)
myTurtle.left(90)
myTurtle.forward(100)
myTurtle.right(90)
myTurtle.pendown()
koch(myTurtle,5,500)
myTurtle.right(120)
koch(myTurtle,5,500)
myTurtle.right(120)
koch(myTurtle,5,500)
"""
def drawSpiral(myTurtle, lineLen,counter):
if counter > 0 and counter % 2 ==0:
myTurtle.forward(lineLen)
myTurtle.right(360*math.cos(math.log(counter)))
drawSpiral(myTurtle, lineLen + 1 / math.log(counter, 10) * (1 - 1 / counter ** 2), counter - 1)
elif counter > 0:
myTurtle.left(360*math.sin(math.log(counter)))
drawSpiral(myTurtle, lineLen+1/math.log(counter,10)*(1-1/counter**2), counter-1)
def drawSilly(myTurtle, lineLen, counter):
if counter > 0:
if counter % 2 == 0:
myTurtle.right(math.log(counter))
else:
myTurtle.left(5*math.log(counter))
myTurtle.forward(lineLen)
drawSilly(myTurtle,lineLen+1/math.log(counter,10)*(1-1/counter**2),counter-1)
#drawSilly(myTurtle,20,1000)
drawSpiral(myTurtle,20,1000)
myWin.exitonclick()
#fibbonacci boi done
def fibbonacci(target):
return fibbonacci_d(target)
def fibbonacci_d(target, prev1 = 1, prev2=0, iterations = 0):
result = []
if iterations == target:
result = [prev1+prev2]
else:
result.extend([prev1+prev2])
result.extend(fibbonacci_d(target,prev1+prev2,prev1,iterations+1))
if iterations == 0:
result.insert(0,1)
return result
#done
def factorial(a_num):
if a_num <= 1:
result = 1
else:
result = a_num * factorial(a_num-1)
return result
#YAYHAHAHAHHAHAA
def reverse(a_list):
result = []
if len(a_list) == 1:
result = a_list[0:]
else:
result.extend(reverse(a_list[1:]))
result.extend(a_list[:1])
return result
def re_convert(b10,base):
if b10 // base == 0:
return str(b10)
else:
return re_convert(b10//base,base) + str(b10%base)
def convert_10_to_base(b10, base):
quo = b10
out = ""
while quo > 0:
rem = quo % base
quo = quo // base
out = str(rem) + out
return out
print(re_convert(6,2))
def towers(disks, src, tmp, dst):
if disks == 1:
print("Move disk from {} to {}".format(src,dst))
else:
towers(disks-1,src,dst,tmp)
print("move disk from {} to {}".format(src,dst))
towers(disks-1,tmp,src,dst)
towers(2, "1", "2", "3")
x = [1,2,3,4,5,6,7,8]
print(reverse(x))
print(factorial(5))
print(fibbonacci(10))