python的turtle库画图例子

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) # 追踪轨迹

你可能感兴趣的:(python基础,python)