Skip to content Skip to footer

小白量化彩票实战(6)彩票号码中六保五缩水和旋转矩阵

小白量化彩票实战(6)彩票号码中六保五缩水和旋转矩阵 我写彩票的博客,不是鼓励大家去买彩票,读者要以学习编程和娱乐的思想来看待。兴趣是学习最大的动力!

我编写彩票软件都有近十多年时间,一直没搞懂彩票号码中六保五缩水和旋转矩阵的原理,我以前使用别人做好的现成缩水公式实现的。 例如选10个号六保五缩水,我使用了别人做好的公式保存为“c10x6d0z6b5.txt”文件。这个意思是选10号,0胆号,中6要保5。全部组合要210注,使用中6要保5只需要18组号码。

1 2 3 4 5 6

1 2 3 4 7 8

1 2 3 4 910

1 2 3 5 7 9

1 2 3 5 810

1 2 3 6 710

1 2 3 6 8 9

1 2 4 5 710

1 2 4 5 8 9

1 2 4 6 7 9

1 2 4 6 810

1 2 5 6 7 8

1 2 5 6 910

1 2 7 8 910

3 4 5 6 7 8

3 4 5 6 910

3 4 7 8 910

5 6 7 8 910

我们读入这个缩水公式,把这个连续号码看作数组或列表下标。这样可以替换为任意10个号码。 这就是很多彩票软件常用的方式,有些彩票软件文件目录中能找到类似的缩水公式。有些彩票书上也印刷出了这些缩水公式给彩民。

小白量化提供了组合号码和缩水公式,我们看看程序和运行结果。

import time

import HP_cp as hcp #小白量化彩票模块

## 双色球,选M个号码

M=10

##生成 全部组合

print('开始生成全部号码.')

t=time.time()

hm=hcp.SSQ(M)

t=time.time()-t

print(M,'个号码生成结束,生成%d注,耗时 %f 秒。'%(len(hm),t))

##中6保5缩水

t=time.time()

hm2=hcp.bao(hm,b=5)

t=time.time()-t

print(M,'个号码缩水结束,生成%d注,耗时 %f 秒。'%(len(hm2),t))

print(hm2)

程序运行结果:

开始生成全部号码.

10 个号码生成结束,生成210注,耗时 0.000000 秒。

10 个号码缩水结束,生成18注,耗时 0.000000 秒。

[[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 7, 8], [1, 2, 3, 4, 9, 10], [1, 2, 3, 5, 7, 9], [1, 2, 3, 5, 8, 10], [1, 2, 3, 6, 7, 10], [1, 2, 3, 6, 8, 9], [1, 2, 4, 5, 7, 10], [1, 2, 4, 5, 8, 9], [1, 2, 4, 6, 7, 9], [1, 2, 4, 6, 8, 10], [1, 2, 5, 6, 7, 8], [1, 2, 5, 6, 9, 10], [1, 2, 7, 8, 9, 10], [3, 4, 5, 6, 7, 8], [3, 4, 5, 6, 9, 10], [3, 4, 7, 8, 9, 10], [5, 6, 7, 8, 9, 10]]

结果与上面的缩水公式差不多。 我们把程序中M值换为12。

M=12

运行结果:

开始生成全部号码.

12 个号码生成结束,生成924注,耗时 0.001000 秒。

12 个号码缩水结束,生成68注,耗时 0.006000 秒。

我们看到程序缩水后需要68注。还能注数再少点吗? 当然可以。中6要保5最小投注数如下:

7个号 ,1注

8个号 , 4 注

9 个号 ,8 注

10个号 ,18注

11个号 , 30注

12个号 , 59注

13个号 , 104注

14个号 , 174注

15 个号 ,274注

16 个号 ,424注

17个号 , 588注

18个号 , 748注

19个号 , 988注

20个号 , 1321注

如何再减少投注号码,我做了下面程序测试。

import time

import HP_cp as hcp #小白量化彩票模块

import random

## 双色球,选M个号码

M=12

##生成 全部组合

print('开始生成全部号码.')

t=time.time()

hm=hcp.SSQ(M)

t=time.time()-t

print(M,'个号码生成结束,生成%d注,耗时 %f 秒。'%(len(hm),t))

##中6保5缩水

cs=[]

for i in range(50):

hm2=hm.copy()

random.shuffle(hm2) #打乱顺序

hm3=hcp.bao(hm2,b=5) ##中6保5缩水

cs.append(len(hm3))

print(len(hm3),end=',')

print('\n最少次数:',min(cs))

运行了3次,结果都不相同。

开始生成全部号码.

12 个号码生成结束,生成924注,耗时 0.001000 秒。

72,69,70,66,74,65,68,65,67,70,74,66,71,72,70,71,67,69,64,66,67,69,68,69,65,67,69,65,69,73,73,68,69,70,70,69,65,67,69,70,69,68,69,70,66,72,67,67,68,66,

最少次数: 64

开始生成全部号码.

12 个号码生成结束,生成924注,耗时 0.000000 秒。

67,72,69,68,67,69,66,66,69,65,67,66,67,69,72,65,68,67,62,64,71,67,67,69,67,68,68,69,70,67,67,69,70,68,67,70,67,72,65,67,66,67,67,69,71,68,69,69,68,72,

最少次数: 62

开始生成全部号码.

12 个号码生成结束,生成924注,耗时 0.001000 秒。

70,68,67,63,65,66,69,65,65,69,67,66,67,64,68,69,71,67,64,66,70,65,65,68,72,66,68,70,64,71,72,68,66,67,68,70,68,67,67,67,68,68,68,66,60,70,66,70,73,68,

最少次数: 60

这说明,能否投注最小与号码位置有关。因此需要用号码旋转方式,改变号码组合顺序。

import time

import HP_cp as hcp #小白量化彩票模块

## 双色球,选M个号码

M=12

##生成 全部组合

print('开始生成全部号码.')

t=time.time()

hm=hcp.SSQ(M) #生成双色球号码全部组合。

t=time.time()-t

print(M,'个号码生成结束,生成%d注,耗时 %f 秒。'%(len(hm),t))

##中6保5缩水

cs=[]

for i in range(len(hm)):

hm2=hm.copy()

hm2=hcp.revolve(hm2,n=i) #号码旋转

hm3=hcp.bao(hm2,b=5) ##中6保5缩水

cs.append(len(hm3))

print(len(hm3),end=',')

print('\n最少次数:',min(cs))

print('旋转次数:',cs.index(min(cs)))

程序运行结果:

开始生成全部号码.

12 个号码生成结束,生成924注,耗时 0.001000 秒。

68,68,84,76,86,77,86,83,84,80,86,81,83,81,82,87,84,...,65,65,65,65,63,63,68,

最少次数: 59

旋转次数: 309

我经过测试研究,已经把研究结果都封装到小白量化金融模块的HP_cp.py文件中了,你们有兴趣可买我写的书,在读者群下载这个模块研究。 如果要输出中6保5缩水公式,可以用如下代码实现:

#购买<零基础搭建量化投资系统>正版书,送小白量化软件源代码。

# https://item.jd.com/61567375505.html

#独狼荷蒲qq:2775205

#小白量化彩票软件开发群:712300766

#小白量化PythonTkinter软件开发群:524949939

#电话微信:18578755056

#微信公众号:独狼股票分析

import time

import HP_cp as hcp #小白量化彩票模块

## 双色球,选M个号码

M=12

##生成 全部组合

print('开始生成全部号码.')

t=time.time()

hm=hcp.SSQ(M)

t=time.time()-t

print(M,'个号码生成结束,生成%d注,耗时 %f 秒。'%(len(hm),t))

#获取旋转密码

xzcs=hcp.cipher[M]

hm2=hcp.revolve(hm,n=xzcs) #号码旋转

hm3=hcp.bao(hm2,b=5) ##中6保5缩水

print(M,'个号码缩水结束,生成%d注。'%len(hm3))

print(hm3)

程序运行结果:

开始生成全部号码.

12 个号码生成结束,生成924注,耗时 0.000000 秒。

12 个号码缩水结束,生成59注。

[[1, 3, 6, 7, 10, 12], [1, 3, 6, 8, 9, 10], [1, 3, 6, 8, 11, 12], [1, 3, 7, 8, 9, 11], [1, 3, 9, 10, 11, 12], [1, 4, 5, 6, 7, 8], [1, 4, 5, 6, 9, 10], [1, 4, 5, 6, 11, 12], [1, 4, 5, 7, 9, 11], [1, 4, 5, 7, 10, 12], [1, 4, 5, 8, 9, 12],

上面这个输出可以当旋转公式,要生成用户投注号,需要按下标替换号码。假定用户选择[5,7,8,12,16,20,22,28,31]这9个号码,可以用下列程序进行组号。

#购买<零基础搭建量化投资系统>正版书,送小白量化软件源代码。

# https://item.jd.com/61567375505.html

#独狼荷蒲qq:2775205

#小白量化彩票软件开发群:712300766

#小白量化PythonTkinter软件开发群:524949939

#电话微信:18578755056

#微信公众号:独狼股票分析

import time

import HP_cp as hcp #小白量化彩票模块

##用户号码

yhhm=[5,7,8,12,16,20,22,28,31]

## 双色球,选M个号码

M=len(yhhm)

##生成 全部组合

print('开始生成全部号码.')

t=time.time()

hm=hcp.SSQ(M)

t=time.time()-t

print(M,'个号码生成结束,生成%d注,耗时 %f 秒。'%(len(hm),t))

#获取旋转密码

xzcs=hcp.cipher[M]

hm2=hcp.revolve(hm,n=xzcs) #号码旋转

hm3=hcp.bao(hm2,b=5) ##中6保5缩水

print(M,'个号码缩水结束,生成%d注。'%len(hm3))

hm4=[]

for h in hm3:

hm5=[]

for h2 in h:

hm5.append(yhhm[h2-1])

hm4.append(hm5)

print(hm5)

程序运性结果:

开始生成全部号码.

9 个号码生成结束,生成84注,耗时 0.000000 秒。

9 个号码缩水结束,生成8注。

[5, 7, 8, 12, 16, 20]

[5, 7, 8, 12, 22, 28]

[5, 7, 8, 16, 22, 31]

[5, 7, 8, 20, 28, 31]

[5, 7, 12, 16, 28, 31]

[5, 7, 12, 20, 22, 31]

[5, 7, 16, 20, 22, 28]

[8, 12, 16, 20, 22, 28]

上面介绍了中6保5缩水,其他缩水中6保4,胆1中6保4等等,都可以用上面程序进行修改实现。

购买《零基础搭建量化投资系统――以Python为工具》(https://item.jd.com/61567375505.html)一书,就能得到小白量化第二代全部源代码。其中包括完整的HP_cp模块。

#独狼荷蒲qq:2775205 /2886002 #小白量化彩票软件开发群:712300766 #小白量化PythonTkinter软件开发群:524949939 #电话微信:18578755056 #微信公众号:独狼股票分析

请点赞本文,你的鼓励是我写作的动力! 请持续关注我的博客,我的进步,就是你的进步!

Copyright © 2088 世界杯德国巴西_世界杯为什么四年一次 - lynzzx.com All Rights Reserved.
友情链接