1.画蟒蛇
import turtle
# from turtle import *
def drawSnake(rad,angle,len,neckrad): # rad>0 -> 半径在小乌龟运行的左侧 rad<0 -> 半径在小乌龟运行的右侧
# angle -> 小乌龟沿着圆形爬行的弧度制
for i in range(len):
turtle.circle(rad,angle) # circle()函数 -> 沿着一个圆形爬行
turtle.circle(-rad,angle)
turtle.circle(rad,angle/2)
turtle.fd(rad) # fd()==forward() -> 乌龟向前直线爬行移动rad的距离
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3)
def main():
turtle.setup(1300,800,0,0) # setup(width,height,startx,starty)函数 -> 启动一个左上角的图形窗口
pythonsize=30
turtle.pensize(pythonsize) # pensize()函数 -> 小乌龟运动轨迹的宽度
turtle.pencolor("blue") # pencolor()函数 -> 小乌龟运动轨迹的颜色
turtle.seth(-40)# seth()函数 -> 启动时运动的方向
drawSnake(40,80,5,pythonsize/2)
main()
2.画等边三角形
from turtle import *
setup(1300,800,0,0)
fd(300)
seth(120)
fd(300)
seth(-120) # 相对于水平直线的角度 而不是相对于当前轨迹的角度
fd(300)
3.画五角星
# draw_five-pointed-star.py
from turtle import *
fillcolor("red")
begin_fill()
while True:
forward(200)
left(144)
if abs(pos())<1: # pos()函数用于查找海龟的当前位置
break # abs(pos()) 当前的点与原点之间的距离
end_fill()
4.画太阳花
# draw_sunflower.py
from turtle import *
color('red','yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos())<1:
break
end_fill()
done()
5.画螺旋线
#draw_helix.py
import turtle
import time
turtle.speed("fastest") # 运行速度 -> fastest:0 fast:10 normal:6 slow:3 slowest:1
turtle.pensize(2)
for x in range(100):
turtle.forward(2*x)
turtle.left(90)
time.sleep(3) #time.sleep()用于给定时间内挂起(等待)当前线程的执行
6.画彩色螺旋线
#draw_multicolor-helix.py
import turtle
import time
turtle.pensize(2)
turtle.bgcolor("black") # bgcolor() -> 窗口背景颜色
colors=['red','yellow','purple','blue']
turtle.tracer(False) # 不追踪轨迹,直接显示最终画面
for x in range(400):
turtle.forward(2*x)
turtle.color(colors[x%4])
turtle.left(91)
turtle.tracer(True) # 追踪轨迹