真香!端午节到来,我用Python画了几个粽子送给女票,女票差点吃了我的电脑...

简介: 真香!端午节到来,我用Python画了几个粽子送给女票,女票差点吃了我的电脑...

前言

小伙伴们好,我是二哥(二师兄),端午节就要到了,提前祝各位假期愉快,端午安康!

二哥突发奇想,用Python画了几个粽子送给女友,由于色香味俱全,没想到她差点把我的电脑吃了,跪地直呼真香!

工具

绘图:Turtle

代码构建

根据二哥的分析,粽子的构成主要有两个部分(粽子+粽子结),我们分两步进行绘制即可。

绘制粽子

粽子的主要形状就是一个三角锥,我们绘制一个绿色的三角锥即可,二哥画的草图如下(画工请无视):

image.png

代码如下:

# 设置颜色及画笔属性
    pensize(2)
    pencolor(0, 0, 0)
    fillcolor(4, 77, 19)
    # 绘制粽子
    begin_fill()
    fd(200)
    circle(15, 120)
    fd(200)
    circle(15, 120)
    fd(200)
    circle(15, 120)
    end_fill()
    fillcolor(4, 77, 19)
    begin_fill()
    fd(200)
    circle(15, 60)
    fd(100)
    circle(15, 90)
    fd(173)
    circle(1, 150)
    end_fill()
    fd(205)
    circle(-15, 120)
    fd(197)
    circle(-15, 120)
    fd(200)

结果如下:

26.png

绘制粽子结

第二步就是绘制粽子结了,粽子结的颜色要和粽子区分开,传统的粽子大概应该是草黄色,草图如下:

image.png

代码如下:

    color(60, 67, 0)
    fillcolor(85, 97, 9)
    begin_fill()
    fd(122)
    goto(a)
    left(120)
    fd(24)
    right(120)
    fd(150)
    right(120)
    fd(24)
    right(60)
    fd(124)
    end_fill()
    right(60)
    fd(24)
    begin_fill()
    left(110)
    fd(67)
    left(100)
    fd(24)
    left(80)
    fd(52)
    end_fill()

其他

除了绘制粽子和粽子结,我们还要时刻控制画笔的位置,最终写成函数就可以绘制多个粽子了。完整代码见下文。

完整代码

from turtle import *
# 隐藏海龟
hideturtle()
# 颜色模式
colormode(255)
'''
参数说明:
pensize:画笔粗细
pencolor:画笔颜色
fillcolor:填充颜色
begin_fill:开始填充
fd:前进
circle:画圆
right:右转
end_fill():结束填充
'''
def Zongz(x, y):
    # 根据输入的坐标调整起点
    penup()
    home()
    goto(x, y)
    pendown()
    # 设置颜色及画笔属性
    pensize(2)
    pencolor(0, 0, 0)
    fillcolor(4, 77, 19)
    # 绘制粽子
    begin_fill()
    fd(200)
    circle(15, 120)
    fd(200)
    circle(15, 120)
    fd(200)
    circle(15, 120)
    end_fill()
    fillcolor(4, 77, 19)
    begin_fill()
    fd(200)
    circle(15, 60)
    fd(100)
    circle(15, 90)
    fd(173)
    circle(1, 150)
    end_fill()
    fd(205)
    circle(-15, 120)
    fd(197)
    circle(-15, 120)
    fd(200)
    # 调整位置绘制粽子结
    penup()
    circle(-12, 120)
    circle(-1, 60)
    fd(100)
    right(60)
    back(105)
    a = pos()
    pendown()
    # 绘制粽子结
    color(60, 67, 0)
    fillcolor(85, 97, 9)
    begin_fill()
    fd(122)
    goto(a)
    left(120)
    fd(24)
    right(120)
    fd(150)
    right(120)
    fd(24)
    right(60)
    fd(124)
    end_fill()
    right(60)
    fd(24)
    begin_fill()
    left(110)
    fd(67)
    left(100)
    fd(24)
    left(80)
    fd(52)
    end_fill()
    # 回到远点(朝向东)
    penup()
    goto(0, 0)
    home()
    pendown()
Zongz(50, 0)
Zongz(-100, 0)
Zongz(-250, 0)
mainloop()

最终运行结果:

28.png


相关文章
|
10月前
|
监控 Python
使用Python编写的电脑上网时间控制软件:实现家长监管功能
在当今数字化时代,孩子们对互联网的依赖程度越来越高,但是过度使用互联网可能会对他们的健康和学业产生负面影响。为了帮助家长有效地监管孩子们的上网行为,我们开发了一款基于Python的电脑上网时间控制软件,具有家长监管功能。
300 1
|
2月前
|
监控 算法 安全
深度洞察内网监控电脑:基于Python的流量分析算法
在当今数字化环境中,内网监控电脑作为“守城卫士”,通过流量分析算法确保内网安全、稳定运行。基于Python的流量分析算法,利用`scapy`等工具捕获和解析数据包,提取关键信息,区分正常与异常流量。结合机器学习和可视化技术,进一步提升内网监控的精准性和效率,助力企业防范潜在威胁,保障业务顺畅。本文深入探讨了Python在内网监控中的应用,展示了其实战代码及未来发展方向。
|
18天前
|
监控 算法 安全
公司电脑网络监控场景下 Python 广度优先搜索算法的深度剖析
在数字化办公时代,公司电脑网络监控至关重要。广度优先搜索(BFS)算法在构建网络拓扑、检测安全威胁和优化资源分配方面发挥重要作用。通过Python代码示例展示其应用流程,助力企业提升网络安全与效率。未来,更多创新算法将融入该领域,保障企业数字化发展。
40 10
|
19天前
|
监控 算法 安全
基于 Python 广度优先搜索算法的监控局域网电脑研究
随着局域网规模扩大,企业对高效监控计算机的需求增加。广度优先搜索(BFS)算法凭借其层次化遍历特性,在Python中可用于实现局域网内的计算机设备信息收集、网络连接状态监测及安全漏洞扫描,确保网络安全与稳定运行。通过合理选择数据结构与算法,BFS显著提升了监控效能,助力企业实现智能化的网络管理。
27 7
|
5月前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
115 0
|
1月前
|
存储 算法 数据安全/隐私保护
探究办公室电脑怎么共享文件的 Python 算法
在数字化办公环境中,高效文件共享是提升工作效率的关键。本文聚焦于使用Python实现办公室电脑文件共享的算法,涵盖需求分析、基础实现及优化拓展。通过socket编程和文件流操作,实现文件传输,并探讨多线程、权限管理和文件索引等优化措施,确保文件共享的安全性和便捷性,助力现代办公协同。
|
3月前
|
存储 运维 监控
探索局域网电脑监控软件:Python算法与数据结构的巧妙结合
在数字化时代,局域网电脑监控软件成为企业管理和IT运维的重要工具,确保数据安全和网络稳定。本文探讨其背后的关键技术——Python中的算法与数据结构,如字典用于高效存储设备信息,以及数据收集、异常检测和聚合算法提升监控效率。通过Python代码示例,展示了如何实现基本监控功能,帮助读者理解其工作原理并激发技术兴趣。
93 20
|
5月前
|
计算机视觉 Python
python利用pyqt5和opencv打开电脑摄像头并进行拍照
本项目使用Python的PyQt5和OpenCV库实现了一个简单的摄像头应用。用户可以通过界面按钮打开或关闭摄像头,并实时预览视频流。点击“拍照”按钮可以捕捉当前画面并保存为图片文件。该应用适用于简单的图像采集和处理任务。
376 0
python利用pyqt5和opencv打开电脑摄像头并进行拍照
|
5月前
|
Android开发 Swift iOS开发
python 基于电脑蓝牙连接获取手机的实时数据
python 基于电脑蓝牙连接获取手机的实时数据
119 0
|
6月前
|
监控 数据挖掘 Python
🔍解锁Python系统编程新姿势!文件系统操作与I/O管理,让你玩转电脑每一个角落
【9月更文挑战第11天】Python不仅在数据分析和Web开发中表现出色,其系统编程能力同样强大。本文通过实例详细介绍了Python如何高效地进行文件系统操作与I/O管理。利用`os`和`pathlib`模块,你可以轻松遍历、创建、删除和重命名文件及目录。通过示例代码,展示了如何递归遍历目录和高效读写大文件。此外,文章还介绍了使用`watchdog`库进行文件监控及利用`concurrent.futures`模块实现并发I/O操作的方法,帮助你构建更复杂的应用。无论简单读写还是高级操作,Python都能助你轻松管理电脑的每一个角落。
54 1