Advertisement
Guest User

Untitled

a guest
May 20th, 2018
363
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.37 KB | None | 0 0
  1. import turtle
  2.  
  3. def is_prime(n):
  4.     if n <= 2:
  5.         return True
  6.     else:
  7.         x = n - 1
  8.         while x > 1:
  9.             if n % x == 0:
  10.                 return False
  11.             else:
  12.                 x -= 1
  13.         return True
  14.  
  15. def bin_prime(n, length):
  16.     return format(n, 'b').zfill(length)
  17.  
  18. def turtlefy(limit, step_size):
  19.     #turtle setup
  20.     turtle.setup(1500, 1000, None, None)
  21.     turtle.bgcolor('black')
  22.     turtle.speed(0)
  23.     turtle.pen(fillcolor="black", pencolor="white", pensize=1)
  24.  
  25.     turtle_turn = 1 #1 is turn right, -1 is turn left
  26.  
  27.     #get maximum number of bits based on chosen limit
  28.     length = len(format(limit, 'b'))
  29.    
  30.     #start iteration from 0 to the chosen limit
  31.     for i in range(limit):
  32.         if is_prime(i):
  33.             binrep = bin_prime(i, length) #binary representation of the current prime
  34.             title = 'Prime: {} - Binary: {}'.format(i, binrep)
  35.             turtle.title(title)
  36.             #send orders to the turtle based on the binary representation of the prime
  37.             for x, order in enumerate(binrep):
  38.                 if order != '0':
  39.                     if turtle_turn == 1:
  40.                         turtle.right(90)
  41.                     elif turtle_turn == -1:
  42.                         turtle.left(90)
  43.                 turtle.forward(step_size)
  44.                 turtle_turn *= -1
  45.  
  46. turtlefy(999999, step_size=0.5)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement