真香!端午节到来,我用Python画了几个粽子送给女票,女票差点吃了我的电脑...
Posted 二哥不像程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了真香!端午节到来,我用Python画了几个粽子送给女票,女票差点吃了我的电脑...相关的知识,希望对你有一定的参考价值。
前言
小伙伴们好,我是二哥(二师兄),端午节就要到了,提前祝各位假期愉快,端午安康!
二哥突发奇想,用Python画了几个粽子送给女友,由于色香味俱全,没想到她差点把我的电脑吃了,跪地直呼真香!
喜欢不要忘了评论、点赞呦!!!
目录
工具
绘图:Turtle
代码构建
根据二哥的分析,粽子的构成主要有两个部分(粽子+粽子结),我们分两步进行绘制即可。
绘制粽子
粽子的主要形状就是一个三角锥,我们绘制一个绿色的三角锥即可,二哥画的草图如下(画工请无视):
代码如下:
# 设置颜色及画笔属性
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)
结果如下:
绘制粽子结
第二步就是绘制粽子结了,粽子结的颜色要和粽子区分开,传统的粽子大概应该是草黄色,草图如下:
代码如下:
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()
最终运行结果:
以上是关于真香!端午节到来,我用Python画了几个粽子送给女票,女票差点吃了我的电脑...的主要内容,如果未能解决你的问题,请参考以下文章