双色球python十种算法_python : 蒙特卡罗算法 应用于双色球
參考書:算法設計與分析 王曉東 編著 :第7章 概率算法 7.5?蒙特卡羅算法
http://www.gdfc.org.cn/datas/history/twocolorball/history_1.html 抓取雙色球開獎數據
2017001,09,11,14,20,25,26,15
2017002,15,19,23,24,25,32,03
2017003,01,04,08,15,27,32,16
... ...
存為數據文件: cp2017.txt
自設seed種子,隨機生成1注6個紅球,計算這1組數字與雙色球開獎歷史數據之相似性。
redball.py
# -*- coding: cp936 -*-
import os, sys
import random
# 計算紅球相似性
if len( sys.argv ) ==2:
p1 = long(sys.argv[1])
else:
print 'usage: redball.py seed_int '
sys.exit(1)
f1 = "cp2017.txt"
if not os.path.exists(f1):
print 'ERROR: %s is not found.' % f1
sys.exit(1)
def mc(A , B):
k=0
for a in A:
if a in B:
k +=1
return k
#
A = [ 0 for i in range(0,7)] # 初始化一個具有6個0的數組,
# 隨機選出6個紅球
random.seed(p1)
reds = []
while len(reds) < 6:
N = random.randint(1,33)
if N not in reds:
reds.append(N)
print 'random:',sorted(reds)
fp = open(f1,'r')
alist =[]
ln =0
for line in fp:
alist = line.strip().split(',')
for i in range(1,7):
A[i] = int(alist[i])
k = mc(reds, A[1:])
if k > 3:
ln += 1
print line.rstrip(),':',k
#
fp.close()
print 'ln=',ln
總結
以上是生活随笔為你收集整理的双色球python十种算法_python : 蒙特卡罗算法 应用于双色球的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: treeview控件怎么折叠_拍摄的视频
- 下一篇: JAVA入门级教学之(if语句)