用 Python turtle 画党徽

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

 

文章目录

 


前言

用turtle库画一个党徽


提示:以下是本篇文章正文内容,下面案例可供参考

一、turtle是什么?

通过组合使用此类命令,可以轻松地绘制出精美的形状和图案。

turtle 模块是基于 Python 标准发行版 2.5 以来的同名模块重新编写并进行了功能扩展。

新模块尽量保持了原模块的特点,并且(几乎)100%与其兼容。这就意味着初学编程者能够以交互方式使用模块的所有命令、类和方法——运行 IDLE 时注意加 -n 参数。

turtle 模块提供面向对象和面向过程两种形式的海龟绘图基本组件。由于它使用 tkinter 实现基本图形界面,因此需要安装了 Tk 支持的 Python 版本。

二、使用步骤

1.Turtle 基本知识

海龟动作
    移动和绘制
        forward() | fd() 前进
        backward() | bk() | back() 后退
        right() | rt() 右转
        left() | lt() 左转
        goto() | setpos() | setposition() 前往/定位
        setx() 设置x坐标
        sety() 设置y坐标
        setheading() | seth() 设置朝向
        home() 返回原点
        circle() 画圆
        dot() 画点
        stamp() 印章
        clearstamp() 清除印章
        clearstamps() 清除多个印章
        undo() 撤消
        speed() 速度
    获取海龟的状态
        position() | pos() 位置
        towards() 目标方向
        xcor() x坐标
        ycor() y坐标
        heading() 朝向
        distance() 距离
    设置与度量单位
        degrees() 角度
        radians() 弧度
    画笔控制
    绘图状态
        pendown() | pd() | down() 画笔落下
        penup() | pu() | up() 画笔抬起
        pensize() | width() 画笔粗细
        pen() 画笔
        isdown() 画笔是否落下
    颜色控制
        color() 颜色
        pencolor() 画笔颜色
        fillcolor() 填充颜色
    填充
        filling() 是否填充
        begin_fill() 开始填充
        end_fill() 结束填充
    更多绘图控制
        reset() 重置
        clear() 清空
        write() 书写
海龟状态
    可见性
        showturtle() | st() 显示海龟
        hideturtle() | ht() 隐藏海龟
        isvisible() 是否可见
    外观
        shape() 形状
        resizemode() 大小调整模式
        shapesize() | turtlesize() 形状大小
        shearfactor() 剪切因子
        settiltangle() 设置倾角
        tiltangle() 倾角
        tilt() 倾斜
        shapetransform() 变形
        get_shapepoly() 获取形状多边形
    使用事件
        onclick() 当鼠标点击
        onrelease() 当鼠标释放
        ondrag() 当鼠标拖动
    特殊海龟方法
        begin_poly() 开始记录多边形
        end_poly() 结束记录多边形
        get_poly() 获取多边形
        clone() 克隆
        getturtle() | getpen() 获取海龟画笔
        getscreen() 获取屏幕
        setundobuffer() 设置撤消缓冲区
        undobufferentries() 撤消缓冲区条目数
        TurtleScreen/Screen 方法
    窗口控制
        bgcolor() 背景颜色
        bgpic() 背景图片
        clear() | clearscreen() 清屏
        reset() | resetscreen() 重置
        screensize() 屏幕大小
        setworldcoordinates() 设置世界坐标系
    动画控制
        delay() 延迟
        tracer() 追踪
        update() 更新
    使用屏幕事件
        listen() 监听
        onkey() | onkeyrelease() 当键盘按下并释放
        onkeypress() 当键盘按下
        onclick() | onscreenclick() 当点击屏幕
        ontimer() 当达到定时
        mainloop() | done() 主循环
    设置与特殊方法
        mode() 模式
        colormode() 颜色模式
        getcanvas() 获取画布
        getshapes() 获取形状
        register_shape() | addshape() 添加形状
        turtles() 所有海龟
        window_height() 窗口高度
        window_width() 窗口宽度
    输入方法
        textinput() 文本输入
        numinput() 数字输入
        Screen 专有方法
        bye() 退出
        exitonclick() 当点击时退出
        setup() 设置
        title() 标题

2.画党徽

代码如下(示例):

import turtle

turtle.fillcolor("red")
turtle.pencolor("red")
turtle.up()
turtle.goto(-300, 300)
turtle.down()
turtle.begin_fill()
for i in range(2):
    turtle.forward(600)
    turtle.right(90)
    turtle.forward(400)
    turtle.right(90)
turtle.end_fill()

turtle.fillcolor("yellow")
turtle.pencolor("yellow")

turtle.up()
turtle.goto(10, 220)
turtle.seth(225)
turtle.down()
turtle.begin_fill()
turtle.fd(125)
turtle.right(90)
turtle.fd(50)
turtle.right(90)
turtle.fd(100)
turtle.right(90)
turtle.circle(25, 90)
turtle.end_fill()
turtle.up()
turtle.goto(-40, 190)
turtle.seth(-45)
turtle.down()
turtle.begin_fill()
for i in range(2):
    turtle.forward(200)
    turtle.right(90)
    turtle.forward(30)
    turtle.right(90)
turtle.end_fill()

turtle.up()
turtle.goto(-100, 100)
turtle.seth(-50)
turtle.down()
turtle.begin_fill()
turtle.circle(100, 180)
turtle.fd(20)
turtle.right(157)
turtle.circle(-115, 190)
turtle.left(90)
turtle.fd(20)
turtle.right(90)
turtle.fd(20)
turtle.right(90)
turtle.fd(20)
turtle.left(80)
turtle.fd(30)
turtle.end_fill()
turtle.up()
turtle.goto(-90, 50)
turtle.down()
turtle.begin_fill()
turtle.circle(20)
turtle.end_fill()
turtle.hideturtle()  # 隐藏小海龟
# 维持面板
turtle.done()


总结

注意画图的顺序和画笔的位置即可

  • 12
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值