
按照题目要求燃悔中编写的Python程前唤序如下
import random
numlist=random.sample(range(0,10),5)
while numlist[0]==0:
numlist=random.sample(range(0,10),5)
num=int(''.join([str(i) for i in numlist]))
inputnum=int(input("输皮山入号:"))
bonus=0
count=0
if inputnum==num:
bonus=10000
else:
for i in set(str(inputnum)):
if int(i) in numlist:
count+=1
bonus=1000*count
print("彩票号:%d" % num)
print("奖金:%d元" % bonus)
源代码(注意源代码的缩进)
那是当然的。
6+1的话,一共127.6亿个排列。每个都至少要执行最内层的for、if、+=三行命令,就算只需要10个指令周期,就是1276亿个指令周期,假设你是3G主频,一秒也才执行30亿个指令,这也得40秒才能跑完,何况光是一个m=m+1就远远不止10个指令能完成,因为python中这是一个重新建立m对象的过程,再加上外层的循环,总的来说,是这一个没有意义的过程,因为需要的时间太长了。
如果是计算组合的话,就会少很多,组合即所有排列中,前6个数不重复的那一部分,这就少很多,33选6,然后乘以16,只有17721088个组合,这个量就少了很多。
所以,整个枯迅思路上就要改变。不使用组合计算,一定要去遍历所有组合来得到总数,也不轿败袜是不行,但写法也不是这样写的。组合是前6个数不重复,那么,第一个数已经决定了第二个数的最大取值,也就是说,内层循环range的第二个参数,直接取外层循环的循环变量即可。
进闭激一步优化就是前6层的for,range第一个参数分别是6,5,4,3,2,1,结果是一样的,大约能快10%左右吧。
python分析双色球用Panda库。Python由荷兰数学和计算机科学研究学会的GuidovanRossum于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数闹洞据结构,还能简单有效地面向对象编程。Python语法和动态类伏清型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项液厅枯目的开发。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)