零基础学Phyton

turtle库的入门操作

2020-02-16  本文已影响0人  临渊羡鱼矣

Turtle图形库

Turtle库是Python内置的图形化模块,属于标准库之一,位于Python安装目录的lib文件夹下,常用函数有以下几种:

画笔控制函数

penup():抬起画笔
pendown():落下画笔
pensize(width):画笔宽度
pencolor(color):画笔颜色 color为颜色字符串'red'或者r,g,b值[255,0,255]
penspeed(10):画笔移动速度[1-10]

turtle函数

turtle.hideturtle() #将画笔隐藏
turtle.setup(width,height,startx,trarty):设置窗体大小
turtle.goto(x,y):直接到达(x,y)位置
turtle.fd(d):朝海龟的正前方前进 turtle.forward(d) 功能类似
turtle.bk(d):朝海龟的后方前进 turtle.forward(d) 功能类似
turtle.circle(r,angle):以海龟左侧一点为圆心曲线运行
turtle.seth(angle):改变海龟的行进角度 (绝对角度)
turtle.left(angle):改变海龟的行进角度(海龟的左方)
turtle.right(angle):改变海龟的行进角度 (海龟的右方)
turtle.tracer(False) :设置动画开关来加速绘画,不显示过程。默认为ture显示过程
p.mainloop() :在最后画图执行的命令或者p.done()

在小例子中更好的理解

绘制雪花飘洒大地


import turtle   as p
import random
def snow(snow_count):  #绘制雪花漫天
    p.hideturtle()      #将画笔隐藏
    p.speed(10)         #画笔移动速度[1,10]
    p.pensize(3)        #画笔的大小
    for i in range(snow_count):
        r = random.random()
        g = random.random()
        b = random.random()
        p.pencolor(r, g, b)  #画笔颜色(支持“red","green"或者rbg三元组)
        p.pu()               #p.penup() 抬起画笔
        p.goto(random.randint(-350, 350), random.randint(1, 270)) #设定画笔位置
        p.pd()              #p.pendown() #画笔落下
        dens = random.randint(8, 12)
        snowsize = random.randint(10, 14)
        for _ in range(dens):   #由一个点画雪花图案的过程
            p.forward(snowsize)   # p.fd()向当前画笔方向移动snowsize像素长度
            p.backward(snowsize)  # p.bk()向当前画笔相反方向移动snowsize像素长度
            p.right(360 / dens)  # 顺时针移动360 / dens度

def ground(ground_line_count):
    p.hideturtle()
    p.speed(500)
    for i in range(ground_line_count):
        p.pensize(random.randint(5, 10))
        x = random.randint(-400, 350)
        y = random.randint(-280, -1)
        r = -y / 280
        g = -y / 280
        b = -y / 280
        p.pencolor(r, g, b)
        p.penup()  # 抬起画笔
        p.goto(x, y)  # 让画笔移动到此位置
        p.pendown()  # 放下画笔
        p.forward(random.randint(40, 100))  # 眼当前画笔方向向前移动40~100距离

def main():
    p.setup(800, 600, 0, 0)  #设置显示窗口大小,和画笔初始位置
    # p.tracer(False)
    p.bgcolor("black")
    # p.tracer(False)     #设置动画开关,可以用来加速绘画,不显示过程。默认为ture显示过程
    snow(30)
    ground(20)
    p.mainloop()  #画图执行的命令或者p.done()

main()

上一篇 下一篇

猜你喜欢

热点阅读