PyInstaller库的使用(py文件转exe文件)及Koch曲线及推广,绘制康托尔集
PyInstaller库概述
将.py源代码转换成无需源代码的可执行文件
意思就是将.py文件转换为.exe文件
PyInstaller库是第三方库
- 官方网站:http://www.pyinstaller.org
- 第三方库:使用前需要额外安装
- 安装第三方库需要使用pip工具
PyInstaller库的安装
(cmd命令行) pip install pyinstaller
PyInstaller库的说明
pyinstaller库安装之后,它会安装生成一个文件,也是一个命令叫做PyInstaller,通过这样一个命令将一个源文件打包生成一个可执行文件
它会生成三个目录, __pycache__和build可以安全删除掉,而我们想要的可执行文件就在dist文件夹中
PyInstaller库常用参数
科赫雪花小包裹
科赫曲线,也叫雪花曲线;科赫曲线是一种用于分形的曲线
import turtle
def koch(size, n):if n == 0:turtle.fd(size)else:for angle in [0, 60, -120, 60]:turtle.left(angle)koch(size/3, n-1)
def main():turtle.setup(600,600)turtle.penup()turtle.goto(-200, 100)turtle.pendown()turtle.pensize(2)level = 3 # 3阶科赫雪花,阶数koch(400,level)turtle.right(120)koch(400,level)turtle.right(120)koch(400,level)turtle.hideturtle()
main()
这段代码是用Python中的turtle库实现了科赫雪花的绘制。主要思路是采用递归的方式来绘制雪花的每一个分支,直到达到指定的阶数。
首先定义了一个koch函数,它的参数包括size和n,分别表示每个分支的长度和绘制的阶数。如果当前阶数为0,就直接绘制一条直线,否则就递归地绘制当前分支的三个子分支。
在绘制子分支的过程中,每次都要先左转或右转60度,然后继续递归绘制子分支。递归结束后,再左转或右转120度,继续递归绘制下一个子分支,直到绘制完整个雪花。
然后在main函数中,先进行一些初始化的操作,包括设置窗口大小、将画笔移动到指定的起点、设置画笔粗细等。接着设置阶数为3,然后分别绘制三个顶点处的雪花分支,最后隐藏画笔,完成绘制。
总之,这段代码实现科赫雪花的主要思路是使用递归,将雪花的每一个分支分解为三个子分支,然后依次绘制这些子分支,最终完成整个雪花的绘制。
举一反三
我们使用康托尔集做一个类似效果
康托尔集是一种无限长的、自相似的分形集合。类似于科赫雪花,我们可以使用递归的方式来绘制康托尔集。
#!/usr/bin/env python
# -- coding: utf-8 --
# @Time : 2023/3/25 16:35
# @File : 康托尔集.py
import turtledef cantor(length, depth):if depth == 0:turtle.fd(length)else:turtle.down()cantor(length/3, depth-1)turtle.up()turtle.fd(length/3)turtle.down()cantor(length/3, depth-1)turtle.up()turtle.fd(length/3)turtle.down()cantor(length/3, depth-1)turtle.up()def main():turtle.setup(800, 400)turtle.speed(0)turtle.penup()turtle.goto(-350, 0)turtle.pendown()turtle.pensize(2)cantor(700, 5)turtle.hideturtle()turtle.done()main()
在上述代码中,我们定义了一个cantor函数,它的参数包括length和depth,分别表示当前分支的长度和绘制的深度。
如果当前深度为0,就直接绘制一条长度为length的直线;否则就递归地绘制三个子分支,分别为长度为length/3的cantor(length/3, depth-1)。
在绘制子分支的过程中,我们首先将画笔降下,然后递归地绘制子分支。递归结束后,我们将画笔抬起,向前移动length/3的距离,再将画笔降下,继续绘制下一个子分支。
最后,在main函数中,我们先进行一些初始化的操作,包括设置窗口大小、将画笔移动到指定的起点、设置画笔粗细等。接着设置深度为5,然后绘制一条长度为700的康托尔集,最后隐藏画笔,完成绘制。
运行上述代码,我们可以看到一个康托尔集的图形,它由一系列越来越短的线段组成,非常具有美感。
PyInstaller库的使用(py文件转exe文件)及Koch曲线及推广,绘制康托尔集相关推荐
- 用 Pyinstaller 模块将 Python 程序打包成 exe 文件(全网最全面最详细)
目录 打包前置知识 一.什么是exe可执行文件? 二.为什么要将 Python 程序打包为 exe 可执行文件? 三.为什么 Python 程序不能直接运行呢? 四.我们用什么来打包 Python 文 ...
- Python将py文件生成exe文件
使用PyCham软件运行生成可执行文件后,最完美的就是将py文件生成exe文件,这样可以任意复制移植到其他电脑上,供他人共享. 由于新手初步尝试,自己一个人摸索,遇到了很多坑.这里先给出最简单有效的方 ...
- 潇洒郎:用cxfreeze打包py文件为exe文件全过程——呕心吐血经验——安装、调试、解决KeyError: 'TCL_LIBRARY'问题、最终成功、打包方便技巧
用cxfreeze打包py文件为exe文件全过程:必须全部看完,正确在后面 注意:当前环境是Play_Craw, pip install cx-freeze 时自然安装到了C:\Users\xiaos ...
- 系统中的obj文件、dll文件、so文件、lib文件、exe文件、vcproj文件、sln文件
1. 源代码(.c等)要经过编译器的编译得到目标代码(.obj),再经过链接器使目标代码和库函数及启动代码合并成一个文件,即可执行文件exe. 2. 生成可执行文件时的链接过程又可根据链接库(动态链接 ...
- com文件与exe文件
COM文件是一种可执行程序的内存映象文件,它与只有16位地址线的8位机上的CP/M操作系统下的可执行程序结构相似.在COM程序执行过程中,除了调用DOS功能和 ROM BIOS 功能,以及用户特意安排 ...
- Java小工具-猜数字游戏(exe版)另附Java文件转exe文件教程
游戏效果: 系统会随机生成一正整数(1~100),猜测该数字,猜的次数越少,得分越高,6次猜不中,游戏结束.在这之前你将无法退出程序! 程序部分截图: 没有很复杂的逻辑,就直接上代码了(可以直接跑): ...
- Matlab.m文件生成.exe文件之旅
Matlab.m文件生成.exe文件之旅 Matlab中.m文件生成.exe文件之旅 作为算法工程师,有时需要测试人员帮忙测试算法模型,故需要向其发布一个算法工具,也是就是.exe文件.由于近期有利用 ...
- exe4j 打包 jar 文件为 exe 文件(GUI程序)
exe4j 打包 jar 文件为 exe 文件(GUI程序) 1.资源分享 2.把项目打包成 exe 文件 2.1 把项目打包成 jar 包(用 fatjar 打包项目) (1) 把 net.sf.f ...
- python3.5把py文件转换为exe文件(by PyInstaller)
配置系统变量 下载PyInstaller 安装PyInstaller 使用PyInstaller生成exe文件 可能遇到的问题 1.配置系统变量 安装需要用到pip工具,该工具在3.5版本的pytho ...
最新文章
- iOS 数组中的模型去重
- 丢弃Transformer,FCN也可以实现E2E检测
- 自定义时间格式 返回年月日
- 使用 detours 框架 hook 函数
- 软件开发生命周期模型 瀑布模型、增量模型、原型模型、螺旋模型、喷泉模型总结...
- LeetCode每日一题 142. 环形链表 II
- mysqli模块的安装
- 怎么在数据库服务器解压文件,数据库服务器9怎么解压
- 角度控制_手机拍剪影,选择拍摄角度,还要控制画面亮度
- HTML5 的输入类型(input type)
- GIMP教程 4 图层
- ab 测试工具(Linux Windows)
- PHP UTF-8转GBK
- STM32驱动步进电机测试
- python爬取皮肤_如何用Python爬取LOL官网全英雄皮肤
- C#数据Encrypt加密Encrypt解密的算法使用
- Service与Android系统设计-- libbinder 转载
- 用户需求不等于产品需求
- 佛说,是我们自己苦了自己~
- ssh登录极路由后台_十八聊智能 篇一百一十:搭建个人云盘,蒲公英企业级路由G5评测:个人私有云+企业异地组网两大杀手锏_路由器...
热门文章
- NC6报销单外部交换平台报错“表头总金额与财务页签金额合计不一致“
- C++坑人游戏(加更)
- 小程序数据为何传不到服务器上,小程序真机调试,发送不到数据到后台
- python的数据类型包括内置的_python基础(三)-数据类型与内置方法1
- C++设计模式 | 四种创建型模式——简单工厂模式、工厂方法模式、抽象工厂模式、单例模式...
- 一文搞懂Typescript
- 信息学奥赛一本通T1453:移动玩具
- 快手切入蓝领招聘,58同城准备好了吗?
- docker 运行异常处理(持续更新)
- Matlab 计算年积日