ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

我的Python学习之路(5)

2021-01-13 18:03:34  阅读:203  来源: 互联网

标签:digit False Python else 学习 drawLine True def


今日学习内容

1.学习Python函数的定义和使用,掌握并了解递归函数中基例(递归出口)和链条(递归体)的定义
2.安装PyInstaller库并将源代码(.py)打包为可执行程序(.exe)
3.根据之前所学的time库和turtle库,结合函数内容编写七段数码管实例并打包
4.了解科赫曲线的实现机理,尝试编写代码实现科赫雪花效果

PyInstaller库的安装与使用教程

安装教程

1.使用win+r命令,输入cmd并点击确定:
cmd
2.打开命令行控制台之后,输入命令如下图:
pip
3.回车执行命令后,若出现下图的提示则安装成功:
在这里插入图片描述
4.安装成功后,可以正常使用PyInstaller库的功能了,具体功能如下图所示:
PyInstaller库常用函数
提示:可以从网上下载.ico后缀的图标文件,然后把图标文件放到.py文件同一目录下,使用PyInstaller库提供的功能来打包生成带图标的.exe可执行文件。首先打开cmd命令,然后使用cd命令转到.py和.ico所在的目录,接着使用如下命令:
pyinstaller -i 图标名.ico -F 源代码名.py
最后即可生成带图标的exe文件

使用教程

1.博主将今天编写的两个源码和下载的两个对应的图标放到同一目录下,如下图所示:
myfile

2.然后执行下图的命令转到源码所在的目录:
myexp
3.接着执行下图的命令来打包生成我们想要的.exe可执行文件:
在这里插入图片描述
在这里插入图片描述
4.等待一段时间后,控制台最后一句出现successfully字眼的语句时打包成功,在源代码所在的目录中会出现3个文件夹,如下图所示,其中_pycache_和build文件夹可以自行删除,dist文件夹内就是我们需要的.exe可执行文件!
myfile2
dist

七段数码管

效果图

七段数码管

源代码

#七段数码管.py
import turtle as t
import time

def drawGap(): #数码管的间隔
    t.penup()
    t.fd(5)

def drawLine(draw): #绘制单段数码管
    drawGap()
    t.pendown() if draw else t.penup()
    t.fd(40)
    drawGap()
    t.right(90)

def drawDigit(digit): #根据参数digit绘制七段数码管
    drawLine(True) if digit in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 2, 6, 8] else drawLine(False)
    t.left(90)
    drawLine(True) if digit in [0, 4, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
    t.left(180)
    t.penup() #为绘制后续数字确定位置
    t.fd(20) 

def drawDate(date): #获取要输出的时间,date为时间
    t.pencolor("red")
    for i in date:
        if i == '年':
            t.write('年', font = ("幼圆", 18, "normal"))
            t.pencolor("green")
            t.fd(40)
        elif i == '月':
            t.write('月', font = ("幼圆", 18, "normal"))
            t.pencolor("blue")
            t.fd(40)
        elif i == '日':
            t.write('日', font = ("幼圆", 18, "normal"))
        else:
            drawDigit(eval(i))

def main(): #主函数
    t.setup(800, 350)
    t.penup()
    t.fd(-300)
    t.pensize(5)
    drawDate(time.strftime('%Y年%m月%d日', time.gmtime()))
    t.hideturtle()
    t.done()

main()

科赫曲线绘制雪花

效果图

科赫曲线

源代码

#KochDraw.py
import turtle as t

def koch(size, n):
    if n == 0:
        t.fd(size)
    else:
        for angle in [0, 60, -120, 60]:
            t.left(angle)
            koch(size / 3, n - 1)

def main():
    t.setup(600, 600)
    t.penup()
    t.goto(-200, 100)
    t.pendown()
    t.pensize(2)
    t.speed(10)
    level = 3 #阶数

    koch(400, level) #3阶科赫曲线
    t.right(120)
    koch(400, level)
    t.right(120)
    koch(400, level)
    t.hideturtle() #隐藏海龟
    t.done()

main()

注:本文是博主本人学习的日常记录,不进行任何商用所以不支持转载请理解!如果你也对Python有一定的兴趣和理解,欢迎随时找博主交流~

标签:digit,False,Python,else,学习,drawLine,True,def
来源: https://blog.csdn.net/Mr_BigG/article/details/112575657

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有