Remove .md and image files and move python files into main chapter folders
This commit is contained in:
parent
5978779a9a
commit
67806dab6a
159 changed files with 0 additions and 4562 deletions
70
thinkcspy/Chapter-7-Exercises/Problem5.py
Normal file
70
thinkcspy/Chapter-7-Exercises/Problem5.py
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
# Runestone.Academy thinkcspy course
|
||||
# Chapter 7
|
||||
# Problem 5
|
||||
|
||||
import turtle
|
||||
|
||||
def getColor(tf, tw, height):
|
||||
if height >= 200:
|
||||
tf.fillcolor("red")
|
||||
elif height >= 100:
|
||||
tf.fillcolor("yellow")
|
||||
else:
|
||||
tf.fillcolor("green")
|
||||
|
||||
def writeData(tt, height):
|
||||
if height < 0:
|
||||
writeHeight = 0
|
||||
else:
|
||||
writeHeight = height
|
||||
|
||||
tt.up()
|
||||
tt.left(90)
|
||||
tt.forward(writeHeight+10)
|
||||
tt.right(90)
|
||||
tt.forward(10)
|
||||
tt.write(str(height))
|
||||
tt.forward(30)
|
||||
tt.right(90)
|
||||
tt.forward(writeHeight+10)
|
||||
tt.left(90)
|
||||
|
||||
|
||||
def drawBar(t, height):
|
||||
""" Get turtle t to draw one bar, of height. """
|
||||
t.begin_fill() # start filling this shape
|
||||
t.left(90)
|
||||
t.forward(height)
|
||||
t.right(90)
|
||||
t.forward(40)
|
||||
t.right(90)
|
||||
t.forward(height)
|
||||
t.left(90)
|
||||
t.end_fill() # stop filling this shape
|
||||
|
||||
|
||||
|
||||
xs = [48, 117, -200, 240, 160, -260, 220] # here is the data
|
||||
maxheight = max(xs)+10
|
||||
minheight = min(xs)-10
|
||||
numbars = len(xs)
|
||||
border = 10
|
||||
|
||||
wn = turtle.Screen() # Set up the window and its attributes
|
||||
wn.setworldcoordinates(0-border, 0+minheight, 40*numbars+border, maxheight+border)
|
||||
wn.bgcolor("lightblue")
|
||||
wn.tracer(100)
|
||||
|
||||
tess = turtle.Turtle() # create tess and set some attributes
|
||||
tess.color("black")
|
||||
tess.pensize(3)
|
||||
|
||||
alex = turtle.Turtle()
|
||||
|
||||
for a in xs:
|
||||
getColor(tess, alex, a)
|
||||
drawBar(tess, a)
|
||||
writeData(alex, a)
|
||||
|
||||
|
||||
wn.exitonclick()
|
||||
Loading…
Reference in a new issue