前提准备:利用sql筛选出每个球出现概率最高的前5个数

原理:先爬出所有的历史数据,然后模拟摇奖机出球的机制并大量模拟计算,直到出现列表中的某一个数后即停

注意事项:由于计算过程数据量很大,需要加入内存释放的操作

成果:目前博主最好记录是中了3红1蓝,适合学习交流使用,信则有

#coding=utf-8
import random
import time
import gc
import datetime
from collections import Counter
try:
dt = datetime.datetime.now()
time.sleep(1)
print u'程序启动时间:'+dt.strftime('%Y-%m-%d %H:%M:%S')
time.sleep(2)
print u'程序正在计算......'
real_red_1 = [1, 2, 3, 4, 5]
real_red_2 = [7, 8, 6, 9, 5]
real_red_3 = [14, 11, 13, 16, 12]
real_red_4 = [20, 17, 22, 23, 18]
real_red_5 = [26, 27, 25, 28, 24]
real_red_6 = [32, 33, 31, 30, 29]
real_blue = [9, 12, 11, 14, 6,13,7,15]
def num_red_1():
i = 0
numlist_1 = []
numlist_2 = []
numlist_3 = []
numlist_4 = []
numlist_5 = []
while i < 10000:
i = i + 1
numlist_1.append(random.randint(1, 33))
gc.collect()
numlist_2.append(random.randint(1, 33))
gc.collect()
numlist_3.append(random.randint(1, 33))
gc.collect()
numlist_4.append(random.randint(1, 33))
gc.collect()
numlist_5.append(random.randint(1, 33))
global numlist
numlist = numlist_1 + numlist_2 + numlist_3 + numlist_4 + numlist_5
numpercent = {}
for d in set(numlist):
numpercent[numlist.count(d)] = d
for e in reversed(sorted(numpercent.keys())[-1:]):
return numpercent[e]
while True:
for i in range(10000):
num_red_1()
bingonum_red_1 = num_red_1()
if bingonum_red_1 not in real_red_1:
continue
c = Counter(numlist)
# print c[bingonum_red_1]
if bingonum_red_1 == 1:
numberA = c[bingonum_red_1]/float(50000)
numberB = 384/float(2004)
# print numberA
# print numberB
# print '%.2f%%'%(numberA / numberB*100)
print u'一号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_1) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_1 == 2:
numberA = c[bingonum_red_1]/float(50000)
numberB = 307/float(2004)
print u'一号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_1) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_1 == 3:
numberA = c[bingonum_red_1]/float(50000)
numberB = 255/float(2004)
print u'一号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_1) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_1 == 4:
numberA = c[bingonum_red_1]/float(50000)
numberB = 209/float(2004)
print u'一号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_1) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
else:
numberA = c[bingonum_red_1]/float(50000)
numberB = 175/float(2004)
print u'一号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_1) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
break
break
time.sleep(5)
def num_red_2():
i = 0
numlist_1 = []
numlist_2 = []
numlist_3 = []
numlist_4 = []
numlist_5 = []
while i < 10000:
i = i + 1
numlist_1.append(random.randint(1, 33))
gc.collect()
numlist_2.append(random.randint(1, 33))
gc.collect()
numlist_3.append(random.randint(1, 33))
gc.collect()
numlist_4.append(random.randint(1, 33))
gc.collect()
numlist_5.append(random.randint(1, 33))
global numlist
numlist = numlist_1 + numlist_2 + numlist_3 + numlist_4 + numlist_5
numpercent = {}
for d in set(numlist):
numpercent[numlist.count(d)] = d
for e in reversed(sorted(numpercent.keys())[-1:]):
return numpercent[e]
while True:
for i in range(10000):
num_red_2()
bingonum_red_2 = num_red_2()
if bingonum_red_2 not in real_red_2:
continue
c = Counter(numlist)
if bingonum_red_2 == 7:
numberA = c[bingonum_red_2]/float(50000)
numberB = 181/float(2004)
print u'二号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_2) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_2 == 8:
numberA = c[bingonum_red_2]/float(50000)
numberB = 168/float(2004)
print u'二号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_2) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_2 == 6:
numberA = c[bingonum_red_2]/float(50000)
numberB = 160/float(2004)
print u'二号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_2) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_2 == 9:
numberA = c[bingonum_red_2]/float(50000)
numberB = 140/float(2004)
print u'二号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_2) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
else:
numberA = c[bingonum_red_2]/float(50000)
numberB = 140/float(2004)
print u'二号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_2) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
break
break
time.sleep(5)
def num_red_3():
i = 0
numlist_1 = []
numlist_2 = []
numlist_3 = []
numlist_4 = []
numlist_5 = []
while i < 10000:
i = i + 1
numlist_1.append(random.randint(1, 33))
gc.collect()
numlist_2.append(random.randint(1, 33))
gc.collect()
numlist_3.append(random.randint(1, 33))
gc.collect()
numlist_4.append(random.randint(1, 33))
gc.collect()
numlist_5.append(random.randint(1, 33))
global numlist
numlist = numlist_1 + numlist_2 + numlist_3 + numlist_4 + numlist_5
numpercent = {}
for d in set(numlist):
numpercent[numlist.count(d)] = d
for e in reversed(sorted(numpercent.keys())[-1:]):
return numpercent[e]
while True:
for i in range(10000):
num_red_3()
bingonum_red_3 = num_red_3()
if bingonum_red_3 not in real_red_3:
continue
c = Counter(numlist)
if bingonum_red_3 == 14:
numberA = c[bingonum_red_3]/float(50000)
numberB = 147/float(2004)
print u'三号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_3) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_3 == 11:
numberA = c[bingonum_red_3]/float(50000)
numberB = 136/float(2004)
print u'三号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_3) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_3 == 13:
numberA = c[bingonum_red_3]/float(50000)
numberB = 129/float(2004)
print u'三号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_3) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_3 == 16:
numberA = c[bingonum_red_3]/float(50000)
numberB = 128/float(2004)
print u'三号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_3) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
else:
numberA = c[bingonum_red_3]/float(50000)
numberB = 125/float(2004)
print u'三号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_3) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
break
break
time.sleep(5)
def num_red_4():
i = 0
numlist_1 = []
numlist_2 = []
numlist_3 = []
numlist_4 = []
numlist_5 = []
while i < 10000:
i = i + 1
numlist_1.append(random.randint(1, 33))
gc.collect()
numlist_2.append(random.randint(1, 33))
gc.collect()
numlist_3.append(random.randint(1, 33))
gc.collect()
numlist_4.append(random.randint(1, 33))
gc.collect()
numlist_5.append(random.randint(1, 33))
global numlist
numlist = numlist_1 + numlist_2 + numlist_3 + numlist_4 + numlist_5
numpercent = {}
for d in set(numlist):
numpercent[numlist.count(d)] = d
for e in reversed(sorted(numpercent.keys())[-1:]):
return numpercent[e]
while True:
for i in range(10000):
num_red_4()
bingonum_red_4 = num_red_4()
if bingonum_red_4 not in real_red_4:
continue
c = Counter(numlist)
if bingonum_red_4 == 20:
numberA = c[bingonum_red_4]/float(50000)
numberB = 147/float(2004)
print u'四号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_4) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_4 == 17:
numberA = c[bingonum_red_4]/float(50000)
numberB = 146/float(2004)
print u'四号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_4) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_4 == 22:
numberA = c[bingonum_red_4]/float(50000)
numberB = 144/float(2004)
print u'四号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_4) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_4 == 23:
numberA = c[bingonum_red_4]/float(50000)
numberB = 132/float(2004)
print u'四号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_4) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
else:
numberA = c[bingonum_red_4]/float(50000)
numberB = 129/float(2004)
print u'四号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_4) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
break
break
time.sleep(5)
def num_red_5():
i = 0
numlist_1 = []
numlist_2 = []
numlist_3 = []
numlist_4 = []
numlist_5 = []
while i < 10000:
i = i + 1
numlist_1.append(random.randint(1, 33))
gc.collect()
numlist_2.append(random.randint(1, 33))
gc.collect()
numlist_3.append(random.randint(1, 33))
gc.collect()
numlist_4.append(random.randint(1, 33))
gc.collect()
numlist_5.append(random.randint(1, 33))
global numlist
numlist = numlist_1 + numlist_2 + numlist_3 + numlist_4 + numlist_5
numpercent = {}
for d in set(numlist):
numpercent[numlist.count(d)] = d
for e in reversed(sorted(numpercent.keys())[-1:]):
return numpercent[e]
while True:
for i in range(10000):
num_red_5()
bingonum_red_5 = num_red_5()
if bingonum_red_5 not in real_red_5:
continue
c = Counter(numlist)
if bingonum_red_5 == 26:
numberA = c[bingonum_red_5]/float(50000)
numberB = 173/float(2004)
print u'五号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_5) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_5 == 27:
numberA = c[bingonum_red_5]/float(50000)
numberB = 167/float(2004)
print u'五号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_5) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_5 == 25:
numberA = c[bingonum_red_5]/float(50000)
numberB = 164/float(2004)
print u'五号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_5) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_5 == 28:
numberA = c[bingonum_red_5]/float(50000)
numberB = 160/float(2004)
print u'五号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_5) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
else:
numberA = c[bingonum_red_5]/float(50000)
numberB = 133/float(2004)
print u'五号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_5) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
break
break
time.sleep(5)
def num_red_6():
i = 0
numlist_1 = []
numlist_2 = []
numlist_3 = []
numlist_4 = []
numlist_5 = []
while i < 10000:
i = i + 1
numlist_1.append(random.randint(1, 33))
gc.collect()
numlist_2.append(random.randint(1, 33))
gc.collect()
numlist_3.append(random.randint(1, 33))
gc.collect()
numlist_4.append(random.randint(1, 33))
gc.collect()
numlist_5.append(random.randint(1, 33))
global numlist
numlist = numlist_1 + numlist_2 + numlist_3 + numlist_4 + numlist_5
numpercent = {}
for d in set(numlist):
numpercent[numlist.count(d)] = d
for e in reversed(sorted(numpercent.keys())[-1:]):
return numpercent[e]
while True:
for i in range(10000):
num_red_6()
bingonum_red_6 = num_red_6()
if bingonum_red_6 not in real_red_6:
continue
c = Counter(numlist)
if bingonum_red_6 == 32:
numberA = c[bingonum_red_6]/float(50000)
numberB = 309/float(2004)
print u'六号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_6) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_6 == 33:
numberA = c[bingonum_red_6]/float(50000)
numberB = 307/float(2004)
print u'六号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_6) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_6 == 31:
numberA = c[bingonum_red_6]/float(50000)
numberB = 249/float(2004)
print u'六号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_6) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_red_6 == 30:
numberA = c[bingonum_red_6]/float(50000)
numberB = 221/float(2004)
print u'六号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_6) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
else:
numberA = c[bingonum_red_6]/float(50000)
numberB = 202/float(2004)
print u'六号红球预测完成' + ' ' + u'号码:' + str(bingonum_red_6) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
break
break
time.sleep(5)
def num_blue():
i = 0
numlist_1 = []
numlist_2 = []
numlist_3 = []
numlist_4 = []
numlist_5 = []
while i < 10000:
i = i + 1
numlist_1.append(random.randint(1, 16))
gc.collect()
numlist_2.append(random.randint(1, 16))
gc.collect()
numlist_3.append(random.randint(1, 16))
gc.collect()
numlist_4.append(random.randint(1, 16))
gc.collect()
numlist_5.append(random.randint(1, 16))
global numlist
numlist = numlist_1 + numlist_2 + numlist_3 + numlist_4 + numlist_5
numpercent = {}
for d in set(numlist):
numpercent[numlist.count(d)] = d
for e in reversed(sorted(numpercent.keys())[-1:]):
return numpercent[e]
while True:
for i in range(10000):
num_blue()
bingonum_blue = num_blue()
if bingonum_blue not in real_blue:
continue
c = Counter(numlist)
if bingonum_blue == 9:
numberA = c[bingonum_blue]/float(50000)
numberB = 140/float(2004)
print u'蓝球预测完成' + ' ' + u'号码:' + str(bingonum_blue) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_blue == 12:
numberA = c[bingonum_blue]/float(50000)
numberB = 136/float(2004)
print u'蓝球预测完成' + ' ' + u'号码:' + str(bingonum_blue) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_blue == 11:
numberA = c[bingonum_blue]/float(50000)
numberB = 135/float(2004)
print u'蓝球预测完成' + ' ' + u'号码:' + str(bingonum_blue) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_blue == 14:
numberA = c[bingonum_blue]/float(50000)
numberB = 130/float(2004)
print u'蓝球预测完成' + ' ' + u'号码:' + str(bingonum_blue) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_blue == 6:
numberA = c[bingonum_blue]/float(50000)
numberB = 129/float(2004)
print u'蓝球预测完成' + ' ' + u'号码:' + str(bingonum_blue) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_blue == 13:
numberA = c[bingonum_blue]/float(50000)
numberB = 129/float(2004)
print u'蓝球预测完成' + ' ' + u'号码:' + str(bingonum_blue) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
elif bingonum_blue == 7:
numberA = c[bingonum_blue]/float(50000)
numberB = 128/float(2004)
print u'蓝球预测完成' + ' ' + u'号码:' + str(bingonum_blue) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
else:
numberA = c[bingonum_blue]/float(50000)
numberB = 128/float(2004)
print u'蓝球预测完成' + ' ' + u'号码:' + str(bingonum_blue) + ' ' + u'中奖概率' + str(
'%.2f%%' % (numberB*(1+numberA)*100))
break
break
finally:
raw_input()

  

【原创】python基于大数据现实双色球预测的更多相关文章

  1. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  2. H2O是开源基于大数据的机器学习库包

    H2O是开源基于大数据的机器学习库包 H2O能够让Hadoop做数学,H2O是基于大数据的 统计分析 机器学习和数学库包,让用户基于核心的数学积木搭建应用块代码,采取类似R语言 Excel或JSON等 ...

  3. 黑马基础阶段测试题:创建一个存储字符串的集合list,向list中添加以下字符串:”C++”、”Java”、” Python”、”大数据与云计算”。遍历集合,将长度小于5的字符串从集合中删除,删除成功后,打印集合中的所有元素

    package com.swift; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; ...

  4. 【Python开发】Python 适合大数据量的处理吗?

    Python 适合大数据量的处理吗? python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 需要澄清两点之后才可以比较全面的看这 ...

  5. 为什么说Python 是大数据全栈式开发语言

    欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 原文链接 h ...

  6. 大数据征信的应用和启示:ZestFinance的基于大数据的信用评估技术

    http://www.d1net.com/bigdata/news/325426.html 2014年11月,本文作者有机会和ZestFinance的创始人和首席执行官梅里尔(Douglas C.Me ...

  7. python学习--大数据与科学计算第三方库简介

    大数据与科学计算  库名称 简介 pycuda/opencl GPU高性能并发计算 Pandas python实现的类似R语言的数据统计.分析平台.基于NumPy和Matplotlib开发的,主要用于 ...

  8. 深度剖析 | 基于大数据架构的BI应用

    说起互联网.电商的数据分析,更多的是谈应用案例,如何去实践数据化管理运营.而这里,我们要从技术角度分享关于数据的技术架构干货,如何应用BI. 原文是云猴网BI总经理王卫东在帆软大数据上的演讲,以下是整 ...

  9. 菜鸟学python之大数据的初认识

    这次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2639 1.这些分析所采用数据来源是什么? 国家数据库:中国铁路 ...

随机推荐

  1. (转) Redis学习教程--基本命令

    原文出自:http://www.cnblogs.com/woshimrf/p/5198361.html 目录 全局操作:1.redis是key-value存储的,放在内存中,并在磁盘持久化的数据结构存 ...

  2. 【ASP.NET MVC 学习笔记】- 03 Razor语法

    本文参考:http://www.cnblogs.com/willick/p/3224144.html 1.Razor语句以@开头. 2.每个View都有自己的Model属性,可通过@Model调用.语 ...

  3. eval函数的坑

    开发工作中遇到这样一种情形,需要执行用户输入的php代码串,于是决定使用eval函数.coding大概示例如下: function getStr($str) { return strlen($str) ...

  4. thinkphp使用phpqrcode生成带logo二维码

    //二维码图片保存路径 $pathname = date("Ymd",time()); $pathname = "./Qrcode/" . $pathname; ...

  5. 从零起步学python计划及感想

    从纯传统bi转型过来的技术顾问,比较有优势的是对业务的熟悉,对数据有敏感度,熟悉数据模型.但是长年累月基本都是用sql处理问题.目前还没有经历过sql解决不了的问题,一个sql解决不了就用临时表,几个 ...

  6. Linux下如何高效删除一个几十G的文本文件的最后一行或几行

    当我们在服务器端记录日志或文本数据时,有时候会有需要删除一个大文件的最后几行,这时如何才能高效实现. 上网浏览终于找到dd命令,亲测如下,删除一个32GB的日志文件最后100行仅需要4分钟 [root ...

  7. C Run-Time Error R6034问题的解决

    1.问题描述 这两天一直在用vs2008编写一个小项目,需要在c++代码中通过命令行的方式调用cl.exe和link.exe,也就是给编译器cl和链接器link传递参数,然后编译链接生成可执行文件ex ...

  8. linux进程资源占用高原因分析命令记录

    1.查看进程的线程: ps -eLf|egrep 'gateserver|UID' 2.跟踪线程调用: strace -p 15530 3.统计线程中函数的调用小号CPU时间: strace -p 1 ...

  9. c++学习笔记---03---从一个小程序说起2

    从一个小程序说起2 要求:编写一个程序,要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现在该行中的任何位置.当用户按下键盘上的"Enter"键时,数据输入 ...

  10. arguments对象

    改变函数arguments也会改变对应的参数,arguments会自动映射到对应的参数上 但是改变参数并不会同步改变arguments 它们并不公用内存 在strict模式,不能对arguments付 ...