Book Exercises

Spins with compass


In [5]:
spins = input("How many times did you spin? (Enter a negative number for couter-clockwise spins) ")

degrees = ((float(spins) * 360) % 360)

print("You are facing", degrees, "degrees relative to north")


How many times did you spin? (Enter a negative number for couter-clockwise spins) .5
You are facing 180.0 degrees relative to north

Fun with Turtles


In [1]:
import turtle               
wn = turtle.Screen()        # creates a graphics window
alex = turtle.Turtle()      # create a turtle named alex
alex.speed(1)
alex.shape('turtle')

for i in [0,1,2,3,4,5]:
    alex.forward(150)           # tell alex to move forward by 150 units
    alex.left(85)               # turn by 90 degrees
    alex.forward(75)

## This won't run as expected with the notebook. Wait a moment for the window to be created.

wn.exitonclick()

Looking at documentation for tutles

The documentation for the module inside of Python can be found here: https://docs.python.org/3.6/library/turtle.html


In [ ]:
# Copied from the documentation example. This is bad practice to do import * DO NOT DO IT!
from turtle import *
color('red', 'yellow')
begin_fill()
while True:
    forward(200)
    left(170)
    if abs(pos()) < 1:
        break
end_fill()
done()

Using Range


In [14]:
for i in [6, 5, 4, 3]:
    print("I have", i, "cookies.  I'm going to eat one.")

print('I ate all my cookies')


I have 6 cookies.  I'm going to eat one.
I have 5 cookies.  I'm going to eat one.
I have 4 cookies.  I'm going to eat one.
I have 3 cookies.  I'm going to eat one.
I ate all my cookies

Lots of turtles


In [1]:
import turtle
wn = turtle.Screen()
wn.bgcolor("lightgreen")
tess = turtle.Turtle()
tess.color("blue")
tess.shape("turtle")

jim = turtle.Turtle()
jim.color("green")
jim.shape("turtle")

carl = turtle.Turtle()
carl.color("red")
carl.shape("turtle")

tess.up()
carl.up()
jim.up()
# Keep in mind for today's studio
for size in range(5, 60, 2):    # start with size = 5 and grow by 2
    tess.stamp()                # leave an impression on the canvas
    carl.stamp()
    jim.stamp()
    
    carl.forward(size + 10)
    jim.forward(size)
    tess.forward(size)          # move tess along
    
    carl.right(90)
    jim.left(24)
    tess.right(24)              # and turn her

wn.exitonclick()

Math


In [4]:
from math import sqrt


print(type
      (sqrt(4)))


<class 'float'>

Random

Remember how it's not actually random. Here is an example:


In [6]:
import random

random.seed(5)

print(random.randint(0,10))
print(random.randint(0,10))
print(random.randint(0,10), '\n')

random.seed(15)

print(random.randint(0,10))
print(random.randint(0,10))
print(random.randint(0,10), '\n')

random.seed(22)

print(random.randint(0,10))
print(random.randint(0,10))
print(random.randint(0,10), '\n')

# Setting the seed back to 5 you can observe that it will always have the same results
random.seed(5)

print(random.randint(0,10))
print(random.randint(0,10))
print(random.randint(0,10), '\n')


9
4
5 

3
0
8 

2
3
0 

9
4
5 

Chapter 4 Exercises

Bottles of beer


In [9]:
number_of_beers = 99

for number in range(number_of_beers, 0, -1):
    print(number, "bottles of beer on the walll", number,"bottles of beer on the wall take one down pass it around")
    print(number - 1, "bottles of beer on the wall")


99 bottles of beer on the walll 99 bottles of beer on the wall take one down pass it around
98 bottles of beer on the wall
98 bottles of beer on the walll 98 bottles of beer on the wall take one down pass it around
97 bottles of beer on the wall
97 bottles of beer on the walll 97 bottles of beer on the wall take one down pass it around
96 bottles of beer on the wall
96 bottles of beer on the walll 96 bottles of beer on the wall take one down pass it around
95 bottles of beer on the wall
95 bottles of beer on the walll 95 bottles of beer on the wall take one down pass it around
94 bottles of beer on the wall
94 bottles of beer on the walll 94 bottles of beer on the wall take one down pass it around
93 bottles of beer on the wall
93 bottles of beer on the walll 93 bottles of beer on the wall take one down pass it around
92 bottles of beer on the wall
92 bottles of beer on the walll 92 bottles of beer on the wall take one down pass it around
91 bottles of beer on the wall
91 bottles of beer on the walll 91 bottles of beer on the wall take one down pass it around
90 bottles of beer on the wall
90 bottles of beer on the walll 90 bottles of beer on the wall take one down pass it around
89 bottles of beer on the wall
89 bottles of beer on the walll 89 bottles of beer on the wall take one down pass it around
88 bottles of beer on the wall
88 bottles of beer on the walll 88 bottles of beer on the wall take one down pass it around
87 bottles of beer on the wall
87 bottles of beer on the walll 87 bottles of beer on the wall take one down pass it around
86 bottles of beer on the wall
86 bottles of beer on the walll 86 bottles of beer on the wall take one down pass it around
85 bottles of beer on the wall
85 bottles of beer on the walll 85 bottles of beer on the wall take one down pass it around
84 bottles of beer on the wall
84 bottles of beer on the walll 84 bottles of beer on the wall take one down pass it around
83 bottles of beer on the wall
83 bottles of beer on the walll 83 bottles of beer on the wall take one down pass it around
82 bottles of beer on the wall
82 bottles of beer on the walll 82 bottles of beer on the wall take one down pass it around
81 bottles of beer on the wall
81 bottles of beer on the walll 81 bottles of beer on the wall take one down pass it around
80 bottles of beer on the wall
80 bottles of beer on the walll 80 bottles of beer on the wall take one down pass it around
79 bottles of beer on the wall
79 bottles of beer on the walll 79 bottles of beer on the wall take one down pass it around
78 bottles of beer on the wall
78 bottles of beer on the walll 78 bottles of beer on the wall take one down pass it around
77 bottles of beer on the wall
77 bottles of beer on the walll 77 bottles of beer on the wall take one down pass it around
76 bottles of beer on the wall
76 bottles of beer on the walll 76 bottles of beer on the wall take one down pass it around
75 bottles of beer on the wall
75 bottles of beer on the walll 75 bottles of beer on the wall take one down pass it around
74 bottles of beer on the wall
74 bottles of beer on the walll 74 bottles of beer on the wall take one down pass it around
73 bottles of beer on the wall
73 bottles of beer on the walll 73 bottles of beer on the wall take one down pass it around
72 bottles of beer on the wall
72 bottles of beer on the walll 72 bottles of beer on the wall take one down pass it around
71 bottles of beer on the wall
71 bottles of beer on the walll 71 bottles of beer on the wall take one down pass it around
70 bottles of beer on the wall
70 bottles of beer on the walll 70 bottles of beer on the wall take one down pass it around
69 bottles of beer on the wall
69 bottles of beer on the walll 69 bottles of beer on the wall take one down pass it around
68 bottles of beer on the wall
68 bottles of beer on the walll 68 bottles of beer on the wall take one down pass it around
67 bottles of beer on the wall
67 bottles of beer on the walll 67 bottles of beer on the wall take one down pass it around
66 bottles of beer on the wall
66 bottles of beer on the walll 66 bottles of beer on the wall take one down pass it around
65 bottles of beer on the wall
65 bottles of beer on the walll 65 bottles of beer on the wall take one down pass it around
64 bottles of beer on the wall
64 bottles of beer on the walll 64 bottles of beer on the wall take one down pass it around
63 bottles of beer on the wall
63 bottles of beer on the walll 63 bottles of beer on the wall take one down pass it around
62 bottles of beer on the wall
62 bottles of beer on the walll 62 bottles of beer on the wall take one down pass it around
61 bottles of beer on the wall
61 bottles of beer on the walll 61 bottles of beer on the wall take one down pass it around
60 bottles of beer on the wall
60 bottles of beer on the walll 60 bottles of beer on the wall take one down pass it around
59 bottles of beer on the wall
59 bottles of beer on the walll 59 bottles of beer on the wall take one down pass it around
58 bottles of beer on the wall
58 bottles of beer on the walll 58 bottles of beer on the wall take one down pass it around
57 bottles of beer on the wall
57 bottles of beer on the walll 57 bottles of beer on the wall take one down pass it around
56 bottles of beer on the wall
56 bottles of beer on the walll 56 bottles of beer on the wall take one down pass it around
55 bottles of beer on the wall
55 bottles of beer on the walll 55 bottles of beer on the wall take one down pass it around
54 bottles of beer on the wall
54 bottles of beer on the walll 54 bottles of beer on the wall take one down pass it around
53 bottles of beer on the wall
53 bottles of beer on the walll 53 bottles of beer on the wall take one down pass it around
52 bottles of beer on the wall
52 bottles of beer on the walll 52 bottles of beer on the wall take one down pass it around
51 bottles of beer on the wall
51 bottles of beer on the walll 51 bottles of beer on the wall take one down pass it around
50 bottles of beer on the wall
50 bottles of beer on the walll 50 bottles of beer on the wall take one down pass it around
49 bottles of beer on the wall
49 bottles of beer on the walll 49 bottles of beer on the wall take one down pass it around
48 bottles of beer on the wall
48 bottles of beer on the walll 48 bottles of beer on the wall take one down pass it around
47 bottles of beer on the wall
47 bottles of beer on the walll 47 bottles of beer on the wall take one down pass it around
46 bottles of beer on the wall
46 bottles of beer on the walll 46 bottles of beer on the wall take one down pass it around
45 bottles of beer on the wall
45 bottles of beer on the walll 45 bottles of beer on the wall take one down pass it around
44 bottles of beer on the wall
44 bottles of beer on the walll 44 bottles of beer on the wall take one down pass it around
43 bottles of beer on the wall
43 bottles of beer on the walll 43 bottles of beer on the wall take one down pass it around
42 bottles of beer on the wall
42 bottles of beer on the walll 42 bottles of beer on the wall take one down pass it around
41 bottles of beer on the wall
41 bottles of beer on the walll 41 bottles of beer on the wall take one down pass it around
40 bottles of beer on the wall
40 bottles of beer on the walll 40 bottles of beer on the wall take one down pass it around
39 bottles of beer on the wall
39 bottles of beer on the walll 39 bottles of beer on the wall take one down pass it around
38 bottles of beer on the wall
38 bottles of beer on the walll 38 bottles of beer on the wall take one down pass it around
37 bottles of beer on the wall
37 bottles of beer on the walll 37 bottles of beer on the wall take one down pass it around
36 bottles of beer on the wall
36 bottles of beer on the walll 36 bottles of beer on the wall take one down pass it around
35 bottles of beer on the wall
35 bottles of beer on the walll 35 bottles of beer on the wall take one down pass it around
34 bottles of beer on the wall
34 bottles of beer on the walll 34 bottles of beer on the wall take one down pass it around
33 bottles of beer on the wall
33 bottles of beer on the walll 33 bottles of beer on the wall take one down pass it around
32 bottles of beer on the wall
32 bottles of beer on the walll 32 bottles of beer on the wall take one down pass it around
31 bottles of beer on the wall
31 bottles of beer on the walll 31 bottles of beer on the wall take one down pass it around
30 bottles of beer on the wall
30 bottles of beer on the walll 30 bottles of beer on the wall take one down pass it around
29 bottles of beer on the wall
29 bottles of beer on the walll 29 bottles of beer on the wall take one down pass it around
28 bottles of beer on the wall
28 bottles of beer on the walll 28 bottles of beer on the wall take one down pass it around
27 bottles of beer on the wall
27 bottles of beer on the walll 27 bottles of beer on the wall take one down pass it around
26 bottles of beer on the wall
26 bottles of beer on the walll 26 bottles of beer on the wall take one down pass it around
25 bottles of beer on the wall
25 bottles of beer on the walll 25 bottles of beer on the wall take one down pass it around
24 bottles of beer on the wall
24 bottles of beer on the walll 24 bottles of beer on the wall take one down pass it around
23 bottles of beer on the wall
23 bottles of beer on the walll 23 bottles of beer on the wall take one down pass it around
22 bottles of beer on the wall
22 bottles of beer on the walll 22 bottles of beer on the wall take one down pass it around
21 bottles of beer on the wall
21 bottles of beer on the walll 21 bottles of beer on the wall take one down pass it around
20 bottles of beer on the wall
20 bottles of beer on the walll 20 bottles of beer on the wall take one down pass it around
19 bottles of beer on the wall
19 bottles of beer on the walll 19 bottles of beer on the wall take one down pass it around
18 bottles of beer on the wall
18 bottles of beer on the walll 18 bottles of beer on the wall take one down pass it around
17 bottles of beer on the wall
17 bottles of beer on the walll 17 bottles of beer on the wall take one down pass it around
16 bottles of beer on the wall
16 bottles of beer on the walll 16 bottles of beer on the wall take one down pass it around
15 bottles of beer on the wall
15 bottles of beer on the walll 15 bottles of beer on the wall take one down pass it around
14 bottles of beer on the wall
14 bottles of beer on the walll 14 bottles of beer on the wall take one down pass it around
13 bottles of beer on the wall
13 bottles of beer on the walll 13 bottles of beer on the wall take one down pass it around
12 bottles of beer on the wall
12 bottles of beer on the walll 12 bottles of beer on the wall take one down pass it around
11 bottles of beer on the wall
11 bottles of beer on the walll 11 bottles of beer on the wall take one down pass it around
10 bottles of beer on the wall
10 bottles of beer on the walll 10 bottles of beer on the wall take one down pass it around
9 bottles of beer on the wall
9 bottles of beer on the walll 9 bottles of beer on the wall take one down pass it around
8 bottles of beer on the wall
8 bottles of beer on the walll 8 bottles of beer on the wall take one down pass it around
7 bottles of beer on the wall
7 bottles of beer on the walll 7 bottles of beer on the wall take one down pass it around
6 bottles of beer on the wall
6 bottles of beer on the walll 6 bottles of beer on the wall take one down pass it around
5 bottles of beer on the wall
5 bottles of beer on the walll 5 bottles of beer on the wall take one down pass it around
4 bottles of beer on the wall
4 bottles of beer on the walll 4 bottles of beer on the wall take one down pass it around
3 bottles of beer on the wall
3 bottles of beer on the walll 3 bottles of beer on the wall take one down pass it around
2 bottles of beer on the wall
2 bottles of beer on the walll 2 bottles of beer on the wall take one down pass it around
1 bottles of beer on the wall
1 bottles of beer on the walll 1 bottles of beer on the wall take one down pass it around
0 bottles of beer on the wall

Cool sample by: Murial


In [1]:
import turtle
import random
wn = turtle.Screen()
anaise = turtle.Turtle()
hour = 1
lines = 1
angle = 1

anaise.speed(0)
# Set the color mode so the mac is happy.
wn.colormode(255)

#change starting point of line randomly
while lines < 200:
    anaise.goto(random.randrange(50), random.randrange(50))
    anaise.down()
    angle = (random.randrange(360))
    anaise.color(random.randrange(255),random.randrange(255),random.randrange(255))
    anaise.pensize(random.randrange(11))
    anaise.right(angle)
    anaise.forward(random.randrange(100))
    anaise.up()
    
    #Count the number of times the loop occurs
    lines = lines + 1
    
wn.exitonclick()

Draw the regular polygon

Write a program that asks the user for the number of sides, the length of the side, the color, and the fill color of a regular polygon. The program should draw the polygon and then fill it in.


In [1]:
import turtle
wn = turtle.Screen()
alex = turtle.Turtle()


sides_number = int(input("How many sides?"))
sides_length = int(input("How long are the sides?"))
line_color = input("What color for the lines?")
fill_color = input("What color for the fill?")

alex.color(line_color)
alex.fillcolor(fill_color)

alex.speed(1)
alex.begin_fill()

for i in range(sides_number):
    alex.forward(sides_length)
    alex.left((360)/(sides_number))
    
alex.end_fill()


How many sides?55
How long are the sides?30
What color for the lines?red
What color for the fill?blue

Studio: Donut

Show them a random Donut of the day: "Yellow Jacket - creme, sugar, and honey with a glazed top and cake body"

Ask the patron how much they want to pay per donut? Ask the number of donuts they want to buy? (fractional donuts) Take into account the tax rate: 5%

>>> "Here's the donut of the day"
    >>> "Yellow Jacket - creme, sugar, and honey with a glazed top and cake body"
    >>> "How many donuts?"
    >>> "What do you want to pay per donut?"
    >>> "Computing price...."
    >>> "You shall pay: $price$"

In [ ]:
>>>