真香!端午节到来,我用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画了几个粽子送给女票,女票差点吃了我的电脑...的主要内容,如果未能解决你的问题,请参考以下文章

端午节,我用 Python 画了一盘粽子送给大家

我用 Python 画了一盘粽子送给大家

我用 Python 画了一盘粽子送给大家

快端午了,用Python画一盘粽子送给你

快端午了,用Python画一盘粽子送给你

Python + 爬虫:可视化大屏帮你选粽子