跳转到内容

维基少年:树莓派/树莓派海龟星星

来自维基教科书,开放世界中的开放书籍

海龟是一种编程语言,用于使用海龟和一系列命令绘制图形。我们使用 Python 模块,它允许您使用海龟命令绘制图片。

画一颗星星

[编辑 | 编辑源代码]

首先,我们将编写一个程序来绘制一颗星星

# Import all functions and variables from the turtle library
from turtle import *

# Set the pen color to WhiteSmoke
color("WhiteSmoke")

# Set the background color to MidnightBlue
bgcolor("MidnightBlue")

# Put the pen down so the turtle can start drawing
pendown()

# Start filling the shape with the current pen color
begin_fill()

# Draw the star shape
for side in range(5):
    # Turn left 144 degrees
    left(144)
    # Move the turtle forward 50 units
    forward(50)

# Finish filling the shape
end_fill()

# Pick the pen up so the turtle can move without drawing
penup()

# Move the turtle forward 100 units
forward(100)

# Enter the turtle graphics event loop and wait for the user to close the window
done()

现在修改程序,使其使用函数

from turtle import *

# A function for drawing a star #'def' means 'define'
def drawStar():
   pendown()
   begin_fill()
   for side in range(5):
     left(144)
     forward(50)
     end_fill()
     penup()

# Now use the function to draw a light grey star on a dark blue
background
color("WhiteSmoke")
bgcolor("MidnightBlue")
drawStar()
forward(100)
drawStar()
left(120)
forward(150)
drawStar()
hideturtle()
done()

现在修改函数,使其绘制不同大小的星星

def drawStar(starSize)

forward(starSize)

drawStar(100)

drawStar(50)

现在,修改函数,以便我们可以绘制不同大小和颜色的星星

def drawStar(starSize, starColour)
color(starColour)

forward(starSize)

drawStar(100, "Red")

drawStar(50, "White")

尽情创造各种大小和颜色的星星吧!

海龟 API

[编辑 | 编辑源代码]

这是海龟 Python 模块提供的函数的完整列表: https://docs.pythonlang.cn/3/library/turtle.html

海龟运动

[编辑 | 编辑源代码]

移动和绘制

[编辑 | 编辑源代码]

forward() | fd()
backward() | bk() | back()
right() | rt()
left() | lt()
goto() | setpos() | setposition()
setx()
sety()
setheading() | seth()
home()
circle()
dot()
stamp()
clearstamp()
clearstamps()
undo()
speed()

告诉海龟的状态

[编辑 | 编辑源代码]

position() | pos()
towards()
xcor()
ycor()
heading()
distance()

设置和测量

[编辑 | 编辑源代码]

degrees()
radians()

笔控制

[编辑 | 编辑源代码]

绘制状态

[编辑 | 编辑源代码]

pendown() | pd() | down()
penup() | pu() | up()
pensize() | width()
pen()
isdown()

颜色控制

[编辑 | 编辑源代码]

color()
pencolor()
fillcolor()

fill()
begin_fill()
end_fill()

更多绘制控制

[编辑 | 编辑源代码]

reset()
clear()
write()

海龟状态

[编辑 | 编辑源代码]

可见性

[编辑 | 编辑源代码]

showturtle() | st()
hideturtle() | ht()
isvisible()v

shape()
resizemode()
shapesize() | turtlesize()
settiltangle()
tiltangle()
tilt()

使用事件

[编辑 | 编辑源代码]

onclick()
onrelease()
ondrag()
mainloop() | done()

特殊海龟方法

[编辑 | 编辑源代码]

begin_poly()
end_poly()
get_poly()
clone()
getturtle() | getpen()
getscreen()
setundobuffer()
undobufferentries()
tracer()
window_width()
window_height()

窗口控制

[编辑 | 编辑源代码]

bgcolor()
bgpic()
clear() | clearscreen()
reset() | resetscreen()
screensize()
setworldcoordinates()

动画控制

[编辑 | 编辑源代码]

delay()
tracer()
update()

使用屏幕事件

[编辑 | 编辑源代码]

listen()
onkey()
onclick() | onscreenclick()
ontimer()

设置和特殊方法

[编辑 | 编辑源代码]

mode()
colormode()
getcanvas()
getshapes()
register_shape() | addshape()
turtles()
window_height()
window_width()

屏幕特定的方法

[编辑 | 编辑源代码]

bye()
exitonclick()
setup()
title()

华夏公益教科书