4.5. Flow of Execution of the for Loop
range(4) tương đương với 0, 1, 2, 3
range (1,5) ==> 1, 2, 3, 4
range (1,5) ==> 1, 2, 3, 4
- Turtle methods can use negative angles or distances. So
tess.forward(-100)
will move tess backwards, andtess.left(-30)
turns her to the right. Additionally, because there are 360 degrees in a circle, turning 30 to the left will leave you facing in the same direction as turning 330 to the right! (The on-screen animation will differ, though — you will be able to tell if tess is turning clockwise or counter-clockwise!)This suggests that we don’t need both a left and a right turn method — we could be minimalists, and just have one method. There is also a backward method. (If you are very nerdy, you might enjoy sayingalex.backward(-100)
to move alex forward!)Part of thinking like a scientist is to understand more of the structure and rich relationships in your field. So reviewing a few basic facts about geometry and number lines, like we’ve done here is a good start if we’re going to play with turtles. - A turtle’s pen can be picked up or put down. This allows us to move a turtle to a different place without drawing a line. The methods are
up
anddown
. Note that the methodspenup
andpendown
do the same thing. - Every turtle can have its own shape. The ones available “out of the box” are
arrow
,blank
,circle
,classic
,square
,triangle
,turtle
. - You can speed up or slow down the turtle’s animation speed. (Animation controls how quickly the turtle turns and moves forward). Speed settings can be set between 1 (slowest) to 10 (fastest). But if you set the speed to 0, it has a special meaning — turn off animation and go as fast as possible.
- A turtle can “stamp” its footprint onto the canvas, and this will remain after the turtle has moved somewhere else. Stamping works even when the pen is up.
import turtle
wn = turtle.Screen()
wn.bgcolor("lightgreen")
tess = turtle.Turtle()
tess.color("blue")
tess.shape("turtle")
print(list(range(5, 60, 2)))
tess.up() # this is new
for size in range(5, 60, 2): # start with size = 5 and grow by 2
tess.stamp() # leave an impression on the canvas
tess.forward(size) # move tess along
tess.right(24) # and turn her
wn.exitonclick()
Nhận xét
Đăng nhận xét