Python源码30:海龟画图turtle画紫色的小熊

2023-12-06 15:44

本文主要是介绍Python源码30:海龟画图turtle画紫色的小熊,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

turtle模块是一个Python的标准库之一,它提供了一个基于Turtle graphics的绘图库。Turtle graphics是一种流行的绘图方式,它通过控制一个小海龟在屏幕上移动来绘制图形。

turtle模块可以让您轻松地创建和控制海龟图形,从而帮助您学习Python编程和图形编程的基本概念。您可以使用turtle模块绘制各种形状、线条和图案,还可以通过添加颜色和其他效果来增强绘图的视觉效果。

turtle模块还提供了一些简单的函数和命令,例如前进、后退、转向、设置画笔颜色和粗细等等。这些函数和命令使得您可以轻松地控制海龟的移动和绘图行为。此外,turtle模块还提供了一些高级功能,例如创建自己的绘图函数、保存和加载绘图文件等等。

总之,turtle模块是一个非常适合初学者使用的Python库,它可以帮助您学习Python编程和图形编程的基本概念,并为您提供了一个轻松愉快的绘图环境。
在这里插入图片描述

#我的Python教程
#微信公众号:wdPython
import turtle as t
# 设置背景颜色,窗口位置以及大小t.colormode(255)  # 颜色模式
t.speed(0)
t.screensize(850, 760, "white")  # 画布大小背景颜色
t.setup(width=850, height=760, startx=None, starty=None)  # 绘图窗口的大小和起始坐标
# t.bgpic("di_800.gif")
t.title("这是一个紫色的小熊!")  # 设置绘图窗口的标题
t.resizemode('noresize')  # 大小调整模式:auto,user,noresize
t.tracer(1)scolor = ["#E6005C", "#00BFFF", "#538a30", "#F28500"]  # 深色列表
qcolor = ["#FF007F", "#87CEFA", "#7fbc2b", "#FFA500"]  # 浅色列表
blsize = 80  # blsize值,blsize,是大等腰直角三角形的斜边风车等比例缩放
bs = 2 ** 0.5 / 2 * blsize  # bs是直角边,2**0.5 表示数学中的“根号2”
# zjsjxxb是小等腰直角三角形的斜边,zjb是直角边
zjb = blsize / 2  # zjb是小等腰直角三角形的直角边
zjsjxxb = 2 ** 0.5 * zjb  # zjsjxxb是小等腰直角三角形的斜边
length = 1.7 * blsize  # 风车杆长
width = 2 / 15 * blsize  # 风车杆宽def fongche():  # 风车t.penup()t.goto(-205, -42)t.begin_fill()t.pensize(4)t.pencolor("#321320")t.fillcolor("#D2B48C")t.circle(15)t.end_fill()t.penup()t.goto(-220, 80)t.pendown()t.setheading(-90)t.pensize(width)t.pencolor("#5f4a1d")t.forward(length)t.pensize(2)t.backward(length)t.setheading(90)for i in range(4):# 小等腰直角三角形t.color(scolor[i])  # 遍历深色列表scolort.begin_fill()t.forward(zjb)t.left(90)t.forward(zjb)t.left(135)t.forward(zjsjxxb)t.end_fill()# t.pencolor(scolor[i])# t.pensize(4)# 大等腰直角三角形t.color(qcolor[i])  # 遍历浅色列表qcolort.begin_fill()t.backward(zjsjxxb)t.right(90)t.forward(bs)t.left(135)t.forward(blsize)t.end_fill()# t.pencolor(scolor[i])# t.pensize(4)# 旋转180度后,画下一片风车叶片t.right(180)t.penup()mling_circle_list = iter([  # 每段弧线(半径,弧角度数)(18, 360), (14, 360), (10, 360), (6, 360),(18, 360), (14, 360), (10, 360), (6, 360),
])def mling_draw_eyeball(zb1, zb2, zb3, zb4):for zb, color_ in zip([zb1, zb2, zb3, zb4], ['#ffffff', '#482d08', '#000000', '#ffffff']):t.penup()t.goto(*zb)t.pendown()t.begin_fill()t.setheading(0)t.color(color_)t.pencolor('#000000')t.pensize(2)t.circle(*next(mling_circle_list))t.end_fill()t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#cb3263")
t.pensize(4)
t.goto(120, 110)
t.pendown()
t.begin_fill()
t.goto(200, 0)
t.left(-40)
t.circle(-110, 105)
t.left(75)
t.goto(170, -110)
t.left(-80)
t.circle(30, 40)
t.left(60)
t.circle(-80, 70)
t.left(83)
t.circle(-35, 95)
t.goto(60, -270)
t.left(-80)
t.circle(-65, 70)
t.left(63)
t.circle(35, 30)
t.left(130)
t.circle(-65, 70)
t.goto(-120, -270)
t.left(-110)
t.circle(-35, 80)
t.left(83)
t.circle(-80, 50)
t.left(60)
t.circle(-80, 60)
t.left(60)
t.circle(30, 30)
t.left(20)
t.circle(80, 80)
t.left(-105)
t.circle(-70, 150)
t.left(50)
t.circle(-170, 50)
t.goto(120, 110)
# Author:Adversity Awake
t.end_fill()
t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#ffffff")
t.pensize(4)
t.goto(90, 60)
t.pendown()
t.begin_fill()
t.right(30)
t.circle(-130, 360)
t.end_fill()
t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#f3d2ad")
t.pensize(4)
t.goto(-250, -55)
t.seth(0)
t.pendown()
t.begin_fill()
t.right(-55)
t.circle(-45, 270)
t.goto(-220, -75)
t.goto(-250, -55)
t.end_fill()fongche()t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#f3d2ad")
t.pensize(4)
t.goto(185, -90)
t.pendown()
t.begin_fill()
t.right(140)
t.circle(43, 95)
t.goto(185, -90)
t.end_fill()
t.penup()
t.seth(0)
t.pencolor('#321320')
t.fillcolor('#cb3263')
t.pensize(4)
t.begin_fill()
t.goto(21, 0)
t.pendown()
t.circle(123, 134)
t.left(-90)
t.circle(40, 185)
t.left(-60)
t.circle(120, 60)
t.left(-90)
t.circle(50, 200)
t.left(-90)
t.circle(100, 100)
t.left(-12)
t.circle(100, 40)
t.goto(21, 0)
t.penup()
# Author:Adversity Awake
t.end_fill()
t.penup()
t.goto(0, 0)
t.seth(0)
t.pencolor('#321320')
t.fillcolor('#ffffff')
t.pensize(4)
t.begin_fill()
t.goto(-70, 210)
t.left(140)
t.pendown()
t.circle(30, 200)
t.goto(-70, 210)
t.penup()
t.end_fill()
t.penup()
t.goto(0, 0)
t.seth(0)
t.pencolor('#321320')
t.fillcolor('#ffffff')
t.pensize(4)
t.begin_fill()
t.goto(90, 220)
t.left(45)
t.pendown()
t.circle(22, 200)
t.goto(90, 220)
t.penup()
t.end_fill()
t.penup()
t.goto(0, 0)
t.seth(0)
t.pencolor('#321320')
t.fillcolor('#ffffff')
t.pensize(4)
t.begin_fill()
t.left(-98)
t.left(90)
t.goto(18, 10)
t.pendown()
t.circle(100, 134)
t.left(10)
t.circle(110, 30)
t.left(10)
t.circle(160, 40)
t.circle(85, 40)
t.left(2)
t.circle(95, 40)
t.left(5)
t.circle(95, 60)
t.goto(18, 10)
t.penup()
t.end_fill()
t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#8f3a52")
t.pensize(2)
t.goto(25, 240)
t.pendown()
t.begin_fill()
t.goto(60, 235)
t.left(30)
t.fd(8)
t.left(90)
t.fd(22)
t.circle(90, 8)
t.left(20)
t.circle(90, 8)
t.left(20)
t.circle(90, 20)
t.left(40)
t.circle(50, 20)
t.end_fill()
t.penup()
t.pensize(12)
t.goto(-2, 250)
t.pencolor("#4D1F00")
t.fillcolor("#4D1F00")
t.pendown()
t.goto(60, 240)
t.end_fill()
t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#8f3a52")
t.pensize(2)
t.goto(-55, 193)
t.pendown()
t.begin_fill()
t.left(65)
t.circle(-90, 25)
t.goto(-10, 230)
t.left(30)
t.fd(8)
t.left(90)
t.fd(18)
t.circle(90, 8)
t.left(20)
t.circle(90, 10)
t.left(40)
t.circle(90, 30)
t.left(30)
t.circle(40, 20)
t.penup()
t.end_fill()
t.pensize(12)
t.goto(-63, 195)
t.pencolor("#4D1F00")
t.fillcolor("#4D1F00")
t.pendown()
t.left(100)
t.circle(-85, 45)
t.end_fill()mling_draw_eyeball((-20, 180), (-23, 185), (-25, 188), (-30, 200))
mling_draw_eyeball((30, 193), (27, 200), (25, 203), (20, 213))t.penup()
p = t.home()
t.pencolor("#321320")
t.fillcolor("#8f3a52")
t.pensize(3)
t.goto(25, 105)
p = t.pos()
t.pendown()
t.begin_fill()
t.circle(85, 65)
t.left(16)
t.circle(30, 55)
t.left(20)
t.circle(145, 58)
t.left(8)
t.circle(20, 55)
t.left(8)
t.circle(50, 65)
t.left(-5)
t.circle(310, 8)
t.end_fill()
t.penup()
t.goto(0, 0)
t.seth(0)
t.pencolor('#321320')
t.fillcolor('#a93e54')
t.pensize(3)
t.begin_fill()
t.left(-20)
t.goto(9, 66)
t.pendown()
t.circle(68, 40)
t.left(10)
t.circle(65, 40)
t.left(160)
t.circle(-75, 85)
t.left(158)
t.circle(48, 37)
t.goto(9, 66)
t.penup()
t.end_fill()
t.color('#321320')
t.penup()
t.goto(260, 60)
t.pendown()
t.write("天\n生\n我\n材\n必\n有\n用\n", align="center", font=("黑体", 20, "normal"))
t.penup()
t.goto(290, 183)
t.pendown()
t.write("诗\n仙\n李\n白", align="center", font=("黑体", 10, "normal"))
t.hideturtle()
t.done()

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具

这篇关于Python源码30:海龟画图turtle画紫色的小熊的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/462368

相关文章

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Python使用python-can实现合并BLF文件

《Python使用python-can实现合并BLF文件》python-can库是Python生态中专注于CAN总线通信与数据处理的强大工具,本文将使用python-can为BLF文件合并提供高效灵活... 目录一、python-can 库:CAN 数据处理的利器二、BLF 文件合并核心代码解析1. 基础合