Advertisement
bwukki

Random week 4 stuff

Oct 21st, 2018
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.18 KB | None | 0 0
  1. #koch dude
  2.  
  3. def koch(myTurtle, resolution, linelen):
  4.     if resolution == 0:
  5.         myTurtle.forward(linelen)
  6.     else:
  7.         koch(myTurtle, resolution-1, linelen/3)
  8.         myTurtle.left(60)
  9.         koch(myTurtle, resolution - 1, linelen / 3)
  10.         myTurtle.right(120)
  11.         koch(myTurtle, resolution - 1, linelen / 3)
  12.         myTurtle.left(60)
  13.         koch(myTurtle, resolution - 1, linelen / 3)
  14.  
  15.  
  16. #turtle power
  17. import turtle
  18. import math
  19.  
  20. myTurtle = turtle.Turtle()
  21. myWin = turtle.Screen()
  22. myTurtle.speed(0)
  23. myTurtle.hideturtle()
  24. """the following will draw a koch snowflake
  25. myTurtle.penup()
  26. myTurtle.backward(200)
  27. myTurtle.left(90)
  28. myTurtle.forward(100)
  29. myTurtle.right(90)
  30. myTurtle.pendown()
  31. koch(myTurtle,5,500)
  32. myTurtle.right(120)
  33. koch(myTurtle,5,500)
  34. myTurtle.right(120)
  35. koch(myTurtle,5,500)
  36. """
  37.  
  38.  
  39.  
  40. def drawSpiral(myTurtle, lineLen,counter):
  41.     if counter > 0 and counter % 2 ==0:
  42.         myTurtle.forward(lineLen)
  43.         myTurtle.right(360*math.cos(math.log(counter)))
  44.         drawSpiral(myTurtle, lineLen + 1 / math.log(counter, 10) * (1 - 1 / counter ** 2), counter - 1)
  45.     elif counter > 0:
  46.         myTurtle.left(360*math.sin(math.log(counter)))
  47.         drawSpiral(myTurtle, lineLen+1/math.log(counter,10)*(1-1/counter**2), counter-1)
  48.  
  49. def drawSilly(myTurtle, lineLen, counter):
  50.     if counter > 0:
  51.         if counter % 2 == 0:
  52.             myTurtle.right(math.log(counter))
  53.         else:
  54.             myTurtle.left(5*math.log(counter))
  55.         myTurtle.forward(lineLen)
  56.         drawSilly(myTurtle,lineLen+1/math.log(counter,10)*(1-1/counter**2),counter-1)
  57.  
  58. #drawSilly(myTurtle,20,1000)
  59. drawSpiral(myTurtle,20,1000)
  60.  
  61. myWin.exitonclick()
  62.  
  63.  
  64.  
  65. #fibbonacci boi done
  66.  
  67. def fibbonacci(target):
  68.     return fibbonacci_d(target)
  69.  
  70. def fibbonacci_d(target, prev1 = 1, prev2=0, iterations = 0):
  71.     result = []
  72.     if iterations == target:
  73.         result = [prev1+prev2]
  74.     else:
  75.         result.extend([prev1+prev2])
  76.         result.extend(fibbonacci_d(target,prev1+prev2,prev1,iterations+1))
  77.     if iterations == 0:
  78.         result.insert(0,1)
  79.     return result
  80.  
  81. #done
  82. def factorial(a_num):
  83.     if a_num <= 1:
  84.         result = 1
  85.     else:
  86.         result = a_num * factorial(a_num-1)
  87.     return result
  88.  
  89. #YAYHAHAHAHHAHAA
  90. def reverse(a_list):
  91.     result = []
  92.     if len(a_list) == 1:
  93.         result = a_list[0:]
  94.     else:
  95.         result.extend(reverse(a_list[1:]))
  96.         result.extend(a_list[:1])
  97.     return result
  98.  
  99. def re_convert(b10,base):
  100.     if b10 // base == 0:
  101.         return str(b10)
  102.     else:
  103.         return re_convert(b10//base,base) + str(b10%base)
  104.  
  105.  
  106. def convert_10_to_base(b10, base):
  107.     quo = b10
  108.     out = ""
  109.  
  110.     while quo > 0:
  111.         rem = quo % base
  112.         quo = quo // base
  113.         out = str(rem) + out
  114.  
  115.     return out
  116.  
  117. print(re_convert(6,2))
  118.  
  119. def towers(disks, src, tmp, dst):
  120.     if disks == 1:
  121.         print("Move disk from {} to {}".format(src,dst))
  122.  
  123.     else:
  124.         towers(disks-1,src,dst,tmp)
  125.         print("move disk from {} to {}".format(src,dst))
  126.         towers(disks-1,tmp,src,dst)
  127.  
  128.  
  129. towers(2, "1", "2", "3")
  130.  
  131. x = [1,2,3,4,5,6,7,8]
  132. print(reverse(x))
  133. print(factorial(5))
  134.  
  135. print(fibbonacci(10))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement