小白量化彩票實戰(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
#微信公眾號:獨狼股票分析
請點贊本文,你的鼓勵是我寫作的動力!
請持續關注我的博客,我的進步,就是你的進步!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/266765.html
標籤:AI
上一篇:【移動端】手機界面的設計尺寸
下一篇:tf第三講:基礎API
