当前位置 博文首页 > Zhi Zhao的博客:送一朵玫瑰花给女朋友

    Zhi Zhao的博客:送一朵玫瑰花给女朋友

    作者:[db:作者] 时间:2021-06-02 18:33

    情人节马上来临,各位已经脱单的朋友得想办法给女朋友制造点浪漫,没有脱单的抓紧机会了,走过路过不要错过,用Python绘制玫瑰花,再生成可执行程序,发给女朋友,点击.exe文件便可见证玫瑰花绘制的整个过程,惊喜又浪漫。

    turtle库

    1.库引用与import

    使用import保留字完成,采用<a>.<b>()编码风格:

    方式一:import <库名>? ? ? ? ?<库名>.<函数名>(<函数参数>)

    方式二:使用from和import保留字共同完成,from <库名> import <函数名>?或?from <库名> import *? ? ?<函数名>(<函数参数>)

    方式三:使用import和as保留字共同完成,import <库名> as <库别名>? ? ? <库名>.<函数名>(<函数参数>)

    2.turtle画笔控制函数:

    画笔操作后一直有效,一般成对出现。

    turtle.penup() 别名 turtle.pu():抬起画笔,海龟在飞行。

    turtle.pendown() 别名 turtle.pd():落下画笔,海龟在爬行。

    画笔设置后一直有效,直至下次重新设置。

    turtle.pensize(width) 别名 turtle.width(width):画笔宽度,海龟的腰围。

    turtle.pencolor(color) color为颜色字符串或r,g,b值:画笔颜色,海龟在涂装。

    3.turtle运动控制函数

    控制海龟行进:走直线 & 走曲线

    turtle.forward(d) 别名 turtle.fd(d):向前行进,海龟走直线

    d:行进距离,可以为负数。

    turtle.circle(r, extent=None):根据半径r绘制extent角度的弧形

    r:默认圆心在海龟左侧r距离的位置;

    extent:绘制角度,默认是360度整圆。

    4.turtle方向控制函数

    控制海龟面对方向::绝对角度 & 海龟角度

    turtle.setheading(angle) 别名 turtle.seth(angle):改变行进方向,海龟走角度

    angle:行进方向的绝对角度。

    turtle.left(angle) 海龟向左转 turtle.right(angle) 海龟向右转

    angle:在海龟当前行进方向上旋转的角度。

    5.玫瑰花绘制

    import turtle as t
    # 定义一个曲线绘制函数
    def DegreeCurve(n, r, d=1):
        for i in range(n):
            t.left(d)
            t.circle(r, abs(d))
    # 初始位置设定
    s = 0.2 # size
    t.setup(450*5*s, 750*5*s)
    t.pencolor("black")
    t.fillcolor("red")
    t.speed(100)
    t.penup()
    t.goto(0, 900*s)
    t.pendown()
    # 绘制花朵形状
    t.begin_fill()
    t.circle(200*s,30)
    DegreeCurve(60, 50*s)
    t.circle(200*s,30)
    DegreeCurve(4, 100*s)
    t.circle(200*s,50)
    DegreeCurve(50, 50*s)
    t.circle(350*s,65)
    DegreeCurve(40, 70*s)
    t.circle(150*s,50)
    DegreeCurve(20, 50*s, -1)
    t.circle(400*s,60)
    DegreeCurve(18, 50*s)
    t.fd(250*s)
    t.right(150)
    t.circle(-500*s,12)
    t.left(140)
    t.circle(550*s,110)
    t.left(27)
    t.circle(650*s,100)
    t.left(130)
    t.circle(-300*s,20)
    t.right(123)
    t.circle(220*s,57)
    t.end_fill()
    # 绘制花枝形状
    t.left(120)
    t.fd(280*s)
    t.left(115)
    t.circle(300*s,33)
    t.left(180)
    t.circle(-300*s,33)
    DegreeCurve(70, 225*s, -1)
    t.circle(350*s,104)
    t.left(90)
    t.circle(200*s,105)
    t.circle(-500*s,63)
    t.penup()
    t.goto(170*s,-30*s)
    t.pendown()
    t.left(160)
    DegreeCurve(20, 2500*s)
    DegreeCurve(220, 250*s, -1)
    # 绘制一个绿色叶子
    t.fillcolor('green')
    t.penup()
    t.goto(670*s,-180*s)
    t.pendown()
    t.right(140)
    t.begin_fill()
    t.circle(300*s,120)
    t.left(60)
    t.circle(300*s,120)
    t.end_fill()
    t.penup()
    t.goto(180*s,-550*s)
    t.pendown()
    t.right(85)
    t.circle(600*s,40)
    # 绘制另一个绿色叶子
    t.penup()
    t.goto(-150*s,-1000*s)
    t.pendown()
    t.begin_fill()
    t.rt(120)
    t.circle(300*s,115)
    t.left(75)
    t.circle(300*s,100)
    t.end_fill()
    t.penup()
    t.goto(430*s,-1070*s)
    t.pendown()
    t.right(30)
    t.circle(-600*s,35)
    t.done()

    6.生成可执行程序.exe

    PyInstaller库

    PyInstaller库概述:将.py源代码转换成无需源代码的可执行文件。

    PyInstaller库的安装:(cmd命令行) pip install pyinstaller

    PyInstaller库使用方法如图所示:

    ?

    生成可执行程序的方法

    ?可执行文件在dist文件夹里

    祝大家情人节快乐,愿天下有情人终成眷属!!!

    如果你觉得这篇博客不错,请点赞支持一下,谢谢你。