python 编写一个彩票游戏?

python 编写一个彩票游戏?,第1张

按照题目要求燃悔中编写的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语法和动态类伏清型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项液厅枯目的开发。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12299995.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存