python:用pyinstaller做个排列组合的小工具
排列组合用处很多,所以打算自己做个这个工具:
from scipy.special import comb,perm from os import system N=int(input('NumberOfThings:')) k=int(input('NumberOfElementsTaken:')) print('从%d里面取出%d个元素:'%(N,k)) print('排列:') print(perm(N,k,exact=True))#exact T 返回长整,F返回浮点 print('组合:') print(comb(N,k,exact=True)) system('pause')
核心就是两句:
from scipy.special import comb,perm print(perm(N,k,exact=True))#exact T 返回长整,F返回浮点 print(comb(N,k,exact=True))
真方便,于是跑去用pyinstaller打包......
竟然失败了,若干支持库找不到.........我擦
赶紧写个hello world 打个包,看看是不是pyinstaller炸了.
然而一切正常......
嗯,是的,我遇到了pyinstaller不支持的情况了.
怎么办呢?自己写了一个,实现了浮点数运算,可是我想要的是python的长整型啊!!!!.算了,还是去复制黏贴一下吧....于是打开perm 和 comb的实现部分,开始找代码.好坑,组合居然有个函数引用的是pyd里面的.....,只好原封不动的搬过来了.
于是为了适应pyinstaller的版本出现了:
from _comb import _comb_int def pailie(N,k): if (k > N) or (N < 0) or (k < 0): return 0 val = 1 for i in range(N - k + 1, N + 1): val *= i return val def zuhe(N,k): return _comb_int(N, k) while True: ctl='' ctl=input('input 0 to exit,anything else to proceed:') if ctl=='0': break N=int(input('Number of things:')) k=int(input('Number of elements taken')) print('排列:') print(pailie(N,k)) print('组合:') print(zuhe(N,k))
把这个源文件和_comb.cp36-win_amd64.pyd一起从工程里考出来,找个文件夹塞进去,pyinstaller一下......嘿嘿嘿,成功了.整个绿色软件10.6兆,好吧,有点肥.
这样,就有了一个顺手的小工具了,哈哈
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
python的Socket网络编程 使用模板
相关说明 本文给出的是TCP协议的Socket编程。 其中用了一个dbmanager数据库操作模块,这个模块是我自己定义的,可以在我的另一个文章中找到这个模块的分享。python操作mysql数据库的精美实用模块 服务段完整代码 【如下代码,完全复制,直接运行,即可使用】 import socket import threading import json from tools import dbmanager #这个模块是我自定义的,可以在我的另一个文章中找到这个模块的分享 ################################### ####服务器参数 #################################### HOST = '0.0.0.0' #ip 0.0.0.0 表示本机所有ip地址 PORT = 9905 #端口号 Max_Listen =10 #最大监听数 BUFSIZ = 1024 #每次接收数据长度 ENDMARK = "messageover" #信息结束标记 #################################### ####...
- 下一篇
python:pygame:字体渲染出错问题
如果出现: font = pygame.font.Font(None, 20) 报错: RuntimeError: Can't seek in stream 尝试换成: font = pygame.font.SysFont("arial", 20) 试一下。
相关文章
文章评论
共有0条评论来说两句吧...