当前位置: 首页 > article >正文

精讲Python之turtle库(二):设置画笔颜色、回旋伞、变色回旋伞、黄色三角形、五角星,附源代码

精讲Python之turtle(海龟)库(一):原理及例子精讲-CSDN博客,这篇文章已经介绍了turtle库的基本知识点,现对进阶的功能进行讲解。

1、设置画笔颜色

pen.pencolor(color)

使用rgb模式的颜色,rgb模式的颜色几乎包括了人类视力所能感知的所有颜色
rgb用3个0~255数字表示颜色,例如(0,0,0),(100,20,50),(255,255,255)
第一个数字r表示红色的比重
第二个数字g表示绿色的比重
第三个数字b表示蓝色的颜色
当三个数字都是0的时候,0,0,0表示黑色
当三个数字是最大值时:255,255,255,表示白色
255,0,0-红色(亮)
100,0,0-红色(暗)
255,255,0-黄色(红色+绿色=黄色)
设置turtle的rgb颜色:

turtle.colormode(255)

设置笔的颜色:

pen.pencolor(r,g,b)

渐变颜色代码,每画完一笔就修改颜色

例子1

import turtle
pen = turtle.Turtle()
turtle.colormode(255)
pen.pd()
r=250
g=50
b=150
cd=25
for i in range(33):
    for j in range(2):
        pen.pencolor(r,g,b)
        pen.forward(cd)
        pen.right(89)
        r -=3
        g +=3
        b+=2
    cd+=5
turtle.done()

填充色:设置填充颜色pen.fillcolor('yellow')
例子2:画一个填充黄色的三角形

import turtle
pen = turtle.Turtle()
pen.pd()
pen.fillcolor('yellow')
pen.begin_fill()
for i in range(3):
    pen.forward(200)
    pen.right(120)
pen.end_fill()
turtle.done()

例子3:turtle如何画一个回旋伞 

import turtle
pen = turtle.Turtle()
pen.pd()
cd = 200
for i in range(50):
    pen.fillcolor('yellow')
    pen.begin_fill()
    for i in range(3):
        pen.forward(cd)
        pen.right(120)
    pen.end_fill()
    pen.right(20)
    cd = cd-3
turtle.done()

例子4: 渐变颜色的回旋伞

import turtle
pen = turtle.Turtle()
pen.pd()
cd = 120
turtle.colormode(255)
r=200
g=200
b=50
cd=200
for i in range(50):
    pen.pencolor(r,g,b)
    pen.fillcolor(r,g,b)
    pen.begin_fill()
    for i in range(3):
        pen.forward(cd)
        pen.right(120)
    pen.end_fill()
    pen.right(20)
    r-=4
    g-=2
    b+=3
    cd = cd-3
turtle.done()

 例子5:画五角星

import turtle
pen = turtle.Turtle()
pen.pd()
for i in range(5):
    pen.forward(100)
    pen.right(144)
turtle.done()


http://www.kler.cn/a/515855.html

相关文章:

  • python判断字符串是否存在空白、字母或数字
  • 运算放大器应用电路设计笔记(六)
  • 如何使用 Redis 作为高效缓存
  • 简识JVM私有内存区域栈、数据结构
  • 202009 青少年软件编程等级考试C/C++ 二级真题答案及解析(电子学会)
  • Swift语言的学习路线
  • python列表增加数据函数
  • flume和kafka整合 flume和kafka为什么一起用?
  • Redis数据库笔记——持久化机制
  • VScode+ESP-IDF搭建ESP32开发环境
  • 探索 LLM:从基础原理到 RAG 实现的深度解析
  • Spring注解篇:@PostMapping详解
  • MATLAB中regexptranslate函数用法
  • 主站集中式和分布式的配电自动化系统区别在哪里?各适用于什么场所?一文详解
  • 【YOLOv11改进[Backbone]】使用LSKNet替换Backbone | 用于遥感目标检测的大型选择性核网络 | 2023
  • plus.runtime.install在android10无效
  • 【番外篇】排列组合实现算法1(Java版)
  • notepad++下载安装及使用笔记
  • Redis - 数据类型与编码方式
  • 埃氏算法C++实现: 快速输出质数( 素数 )
  • 免费开源的三维建模软件Blender
  • ThinkPHP 8请求处理-获取请求对象与请求上下文
  • 网络打印机的搜索与连接(一)
  • 设计模式的艺术-享元模式
  • 【Elasticsearch】HNSW
  • 鸿蒙模块概念和应用启动相关类(HAP、HAR、HSP、AbilityStage、UIAbility、WindowStage、window)