turtle1.py (ex08) added
This commit is contained in:
parent
1d24f207ed
commit
d71458b2b5
|
@ -0,0 +1,64 @@
|
||||||
|
# This program uses the module turtle to draw "turtle graphics"
|
||||||
|
# For an introduction and examples, read
|
||||||
|
# https://runestone.academy/runestone/static/thinkcspy/PythonTurtle/toctree.html
|
||||||
|
# For a summary of the available methods:
|
||||||
|
# https://runestone.academy/runestone/books/published/thinkcspy/PythonTurtle/SummaryofTurtleMethods.html
|
||||||
|
|
||||||
|
import turtle # allows us to use the turtles library
|
||||||
|
|
||||||
|
# Make turtle t draw a square with the given side length
|
||||||
|
def square(t, side):
|
||||||
|
for n in range(4):
|
||||||
|
t.forward(side)
|
||||||
|
t.left(90)
|
||||||
|
|
||||||
|
# Make turtle t draw a spiral.
|
||||||
|
# The first side should have length = start, the second start+incr, etc.,
|
||||||
|
# until the length reaches length=end (exclusive).
|
||||||
|
def spiral(t, start, end, incr):
|
||||||
|
if start < end:
|
||||||
|
while start <= end:
|
||||||
|
t.forward(start)
|
||||||
|
t.left(90)
|
||||||
|
start += incr
|
||||||
|
else:
|
||||||
|
while start >= end:
|
||||||
|
t.forward(start)
|
||||||
|
t.left(90)
|
||||||
|
start += incr
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
print("This program opens a window with a graphical user interface.")
|
||||||
|
wn = turtle.Screen() # creates a graphics window
|
||||||
|
alex = turtle.Turtle() # create a turtle named alex
|
||||||
|
|
||||||
|
alex.forward(150) # tell alex to move forward by 150 units
|
||||||
|
alex.right(90) # turn by 90 degrees
|
||||||
|
alex.forward(75) # complete the second side
|
||||||
|
|
||||||
|
beth = turtle.Turtle() # another turtle
|
||||||
|
beth.shape("turtle") # with another shape
|
||||||
|
beth.color("blue") # and color
|
||||||
|
beth.up() # pen up
|
||||||
|
beth.goto(-200, -100) # move to given point
|
||||||
|
beth.down() # pen down
|
||||||
|
square(beth, 100) # draw a square
|
||||||
|
|
||||||
|
# This should draw a spiral
|
||||||
|
alex.up()
|
||||||
|
alex.goto(-200, 200)
|
||||||
|
alex.setheading(0)
|
||||||
|
alex.down()
|
||||||
|
spiral(alex, 10, 200, 10)
|
||||||
|
alex.up()
|
||||||
|
alex.goto(100, 100)
|
||||||
|
alex.setheading(0)
|
||||||
|
alex.down()
|
||||||
|
spiral(alex, 200, 0, -5)
|
||||||
|
|
||||||
|
turtle.exitonclick() # wait for a button click, then close window
|
||||||
|
print("The window was closed. Bye!")
|
||||||
|
|
||||||
|
|
||||||
|
main()
|
Loading…
Reference in New Issue