如果你足够相信,那么这段代码里会有意外收获。

做为一个热爱生活、兴趣广泛、处处充满好奇心,而又会写两行代码的人,怎么能让自己的IDE闲置起来呢?所以,工作之余,开始各种验证脑子里的一些小(xiao)想(jiu)法(jiu)。

或许每个人都或多或少、或长或短地做过那么一两次发财梦,如果稍有执著一点人的,还会试图去买几注彩票碰碰运气。事实证明:幸运女神是很忙的。

看过电脑《推理笔记》的同学可能会被里面对概率运用的情节所吸引,亦或对神秘的拉普拉斯妖充满好奇。那么根据小编的世界观、人生观、价值观来认为,在这个神奇的宇宙里,我们人类全部的认知也才不到5%,又怎么能否定一些大胆的诊断呢?所以,在小编对宇宙充满好奇的同时,也没忘用自己的思考方式来辩证地吸收新的知识,然后总结成自己的观点,而其中最大的收获就是让自己不再困惑。

以上纯是因为最近《马克思主义基本原理概论》看多了才有的一些感慨和诊断,下面回到人间烟火。

################################

其实在写这篇文章之前,还特意跟自己辩论了一番,当下都在宣扬正能量、宣传"美好的生活是人民通过辛勤劳动创造出来的",习大大也正在努力地推进着中华民族的精神文明建设,那么我这岂不是有悖于发展趋势?因为买彩票总是属于投机行为,容易滋生不劳而获的心态。是的,本篇还真就认真地、严肃地讨论一番彩票,而且,还略微高大上地引入代码来实现筛选和分析的过程。

大家知道,一个彩种被设计并投入市场之前,它的游戏规则都是被定义好了的,也就是说它的概率即是被反复推演过很多遍的(如果你作为一个彩种的总策划,设计出来的产品一经投放市场就让公司赔的底朝天,他们会放过你吗),也就是说,无论市场上怎么购买,对彩种的设计者来说,都是赢利的。那么既然这样,为什么还是会有不计其数的人购买彩票?答案是惟一的,大家都期望得到幸运女神的眷顾。

凡事都要讲求一个方法,只有运用了正确的方法才能取得事半功倍的效果。分析彩票也一样,也得有方法。比如,小编就兴奋地选择了python来试图打开一扇财富大门。

################################

(为了证明小编CNB是打了草稿的,先把思路写清楚)

========探索思路及过程========

一、选择一种无伤大雅的彩种

1.在小编的世界里,只认识四种彩票:体彩大乐透、福彩双色球、福彩3D,当然 还有神奇的刮刮乐。(懒得再列举)

2.综合判断以上各类型的彩种,福彩3D还是比较亲民的。虽说大乐透和双色球的奖励比较诱人,但稍懂点数学常识的同学都知道,分析它们的数据量也是惊人的,事实证明,我的MacBookPro用Python运行双色球的排列组合运算时,卡的我都心疼。。。

3.福彩3D,三种数字排列组合,总共1000种可能,最高资金1040元。所以,把所有可能全买,是一定会中奖的,只要不傻。

二、罗列出所有排列组合,并排除小概率事件

1.生成全排列,并过滤掉一些明显有规律的排列

三、加入网上常用杀号规则和技巧

1.进一步过滤小概率事件,加入一些常用的杀号规则,继续减小数据量(数据量的减少,意味着投资的减少,都是关于钱呀)

2.每种规则加入之前可以验证其单独使用时的概率

四、结合历史数据分析概率

1.有了规则,到了验证的时候了,去网上查找有历史数据,制成合适的格式以备程序提取并实现对比

2.大功告成,运行!!!!!!

五、调试筛选规则

1.得到一个惨不忍睹的数据。

2.痛定思痛,调整过滤规则,运行。

3.继续改。。。继续运行。。。继续看到伤心的结果。。。

4.分析原因:那些小概率事件叠加了!!!

六、公开发表结论:理想是丰满的,现实是骨感的。所以,想要用概率来发财,不用想了,洗洗睡吧。

###################################

然鹅。。。

就在小编准备收起mac本准备洗洗睡吧的时候,天空飘来了五个字,来一起大声说:高、手、在、民、间!(你猜错了!)

于是乎,曙光来了。

###################################

七、继续搞:加入民间一些"高人"的预测

1.加入某人甲和某人乙的两种预测之后,小编喜出望外地看到了正的结果,是正,不再是负!!这很重要!!

2.继续添加历史数据量,继续调试过滤规则,继续运行。。。

3.统计、总结、分析之后,结果喜人!!!

八、终于可以偷偷地去闷声发大财了!

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

难以按捺心中的激动,赶紧跑出去抽根烟。

又然而,问题来了,怎么才能实现这个过程呢?

很简单:你运行一下代码,把生成的结果写入一个文档,然后打印出来,带着上面的钱数和上面的数字,找一家彩票站,说:老板,买彩票!然后就等着中奖吧。

你想想,只要运行一下代码就把钱赚了,这个过程是不是很爽呢?如果网上能购彩,你甚至可以写一个自动化脚本让它自动完成这个过程,你只需要在预先设计并留存的那个手机号是查看每天的进账短信就可以了,想想这个过程是不是更爽呢?那么我告诉你,这个过程是真的可以实现的!!

#############################

又又又然而,我为什么跑出去抽烟,而不是跑去彩票站去发财呢?

我想说的是,我没有时间,如果我花这么多精力去做这样的事,那么我完全可以把时间花在另外一些地方收获比这个过程更丰厚的报酬。比如:我完全可以再买一本专业的书籍,来获取更多的知识,来提高一个新的技术水平,来给自己增值。这些每一种方式都比运行代码然后花很长时间去购彩这样的过程更有意义。

当然,如果你看不惯我说的这些,你也完全不认同我的观点,你所感兴趣的只是赶紧把代码拷走准备发财,那么我也会毫不吝啬地把代码分享给你,因为你既然看到了这里,那么一定不是一个过客。

##############################

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

(本篇完,上代码)

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

# -*- coding:utf-8 -*-

###############################################
'''
声明:
1.该段代码仅用于福彩3D概率验证及分析,如需具体使用,请自行修改。
2.本段代码不设版权,Linux都开源了,我还有啥舍不得的。
3.祝你好运!
'''
###############################################

import itertools
###############################################
'''
使用的数据结构为
2018145-2018-06-01=5=386=01267=2
2018146-2018-06-02=6=569=04679=5
2018147-2018-06-03=7=636=12358=7
释义:
2018147:期号
2018-06-03:日期
=7:星期
=636:当期开奖号
=12358:当期预测五码
=7:当期杀百位
'''
###############################################
file = 'your filename'
f = open(file, 'r')
lines = f.readlines()
###############################################
####===>>>声明全局变量
success = 0
fail = 0
Flag = 0
null = 0
testFlag = 0
balance = 0
payall = 0

s1 = s2 = s3 = s4 = s5 = s6 = 0
s11 = s12 = 0
s21 = s22 = s23 = s24 = 0
s31 = s32 = s33 = s34 = 0
ss1 = ss2 = 0
s51 = s52 = 0
s6_a = s6_b = 0
sa1 = sa2 = sa3 = sa4 = sa5 = sa6 = 0
sb1 = sb2 = sb3 = sb4 = sb5 = 0

seed = []

#####  主驱动
for i in range(1, len(lines) - 1):
    ####===>>>赋值
    t1 = int(lines[i + 1][25])
    t2 = int(lines[i + 1][26])
    t3 = int(lines[i + 1][27])
    t4 = int(lines[i + 1][28])
    t5 = int(lines[i + 1][29])
    Tai = [t1, t2, t3, t4, t5]
    ##
    yes1 = int(lines[i - 1][21])
    yes2 = int(lines[i - 1][22])
    yes3 = int(lines[i - 1][23])
    Yesterday = [yes1, yes2, yes3]
    to1 = int(lines[i][21])
    to2 = int(lines[i][22])
    to3 = int(lines[i][23])
    Today = [to1, to2, to3]
    tom1 = int(lines[i + 1][21])
    tom2 = int(lines[i + 1][22])
    tom3 = int(lines[i + 1][23])
    Tomorrow = [tom1, tom2, tom3]
    ##
    issue = int(lines[i + 1][6])
    date = int(lines[i + 1][17])
    week = int(lines[i + 1][19])
    beforexx = str(Yesterday[1]) + str(Today[1])
    keyxxx = Today[0]
    keyxx = Today[1]
    keyx = Today[2]
    ##
    singlexxx = lines[i + 1][31]

    ####===>>> 生成Seed[]
    num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    a = Tai
    b = []
    for i in range(len(num)):
        test = num[i]
        if test not in Tai:
            b.append(test)
    ### <One>===  One in A
    bb = list(itertools.permutations(b, 2))
    per1 = []

    for ii in range(len(bb)):
        for j in range(len(a)):
            temp1 = str(bb[ii][0]) + str(bb[ii][1]) + str(a[j])
            per1.append(temp1)
            temp2 = str(bb[ii][0]) + str(a[j]) + str(bb[ii][1])
            per1.append(temp2)
            temp3 = str(b[j]) + str(bb[ii][0]) + str(bb[ii][1])
            per1.append(temp3)

    ########################################################################
    ### <Two>===  Three in B
    bbb = list(itertools.permutations(b, 3))
    per2 = []
    for ii in range(len(bbb)):
        temp1 = str(bbb[ii][0]) + str(bbb[ii][1]) + str(b[j])
        per2.append(temp1)
        temp2 = str(bbb[ii][0]) + str(b[j]) + str(bbb[ii][1])
        per2.append(temp2)
        temp3 = str(b[j]) + str(bbb[ii][0]) + str(bbb[ii][1])
        per2.append(temp3)

    ##########################################################################
    ### <Three>===组三
    ### <A>==Three in B
    dd = []
    for ii in range(len(b)):
        temp1 = str(bbb[ii][0]) + str(bbb[ii][1]) + str(b[j])
        per2.append(temp1)
        temp2 = str(bbb[ii][0]) + str(b[j]) + str(bbb[ii][1])
        per2.append(temp2)
        temp3 = str(b[j]) + str(bbb[ii][0]) + str(bbb[ii][1])
        per2.append(temp3)
    ### <B>==One in A
    ee = []
    for ii in range(len(bb)):
        temp4 = str(bb[ii][0]) * 2 + str(bb[ii][1])
        ee.append(temp4)
        temp5 = str(bb[ii][0]) + str(bb[ii][1]) * 2
        ee.append(temp5)

    ########################################################################
    ### <Four>===OutReport

    lists = per1
    per1 = []
    per2 = []
    dd = []
    ee = []
    ################################################################################################

    ################################################################################################
    ### <Five>===Kill some numbers

    ### 副驱动
    for ii in range(len(lists)):
        x = 0
        y = 1
        z = 2
        num[x] = int(lists[ii][x])
        num[y] = int(lists[ii][y])
        num[z] = int(lists[ii][z])

        ## <Two>==Select
        # <1>==Sum
        sum = Today[0] + Today[1] + Today[2]
        if num[x] + num[y] + num[z] == sum:
            null += 1
            s11 += 1

        if num[x] + num[y] + num[z] == 0 or num[x] + num[y] + num[z] == 1 or num[x] + num[y] + num[z] == 2 or num[x] + \
                num[y] + num[z] == 3 or \
                num[x] + num[y] + num[z] == 27 or num[x] + num[y] + num[z] == 26 or num[x] + num[y] + num[z] == 25 or \
                num[x] + num[y] + num[z] == 24 or num[x] + num[y] + num[z] == 20 or num[x] + num[y] + num[z] == 15 or \
                num[x] + num[y] + num[z] == 5:
            null += 1
            s12 += 1

        s1 = s11 + s12

        # <2>==Sequence

        if num[x] - num[y] == 1 and num[y] - num[z] == 1 or num[z] - num[y] == 1 and num[y] - num[x] == 1:
            null += 1
            s21 += 1
        if num[x] - num[y] == 2 and num[y] - num[z] == 2 or num[z] - num[y] == 2 and num[y] - num[x] == 2:
            null += 1
            s22 += 1
        if num[x] - num[y] == 3 and num[y] - num[z] == 3 or num[z] - num[y] == 3 and num[y] - num[x] == 3:
            null += 1
            s23 += 1
        if num[x] - num[y] == 4 and num[y] - num[z] == 4 or num[z] - num[y] == 4 and num[y] - num[x] == 4:
            null += 1
            s24 += 1

        s2 = s21 + s22 + s23 + s24

        # <3>==Data->XX

        if num[y] == issue:
            null += 1
            s31 += 1

        if num[x] == date:
            null += 1
            s32 += 1
        '''
        if num[z] == week:
            null += 1
            s33 += 1
        '''
        if num[z] == issue:
            null += 1
            s34 += 1

        s3 = s31 + s32 + s33 + s34

        # <4>==Key-Value

        if keyxxx == 0:
            iii = 8
        elif keyxxx == 1:
            iii = 5
        elif keyxxx == 2:
            iii = 2
        elif keyxxx == 3:
            iii = 7
        elif keyxxx == 4:
            iii = 4
        elif keyxxx == 5:
            iii = 1
        elif keyxxx == 6:
            iii = 9
        elif keyxxx == 7:
            iii = 6
        elif keyxxx == 8:
            iii = 3
        elif keyxxx == 9:
            iii = 0
        else:
            Flag = 0

        if keyxx == 0:
            jj = 8
        elif keyxx == 1:
            jj = 5
        elif keyxx == 2:
            jj = 2
        elif keyxx == 3:
            jj = 7
        elif keyxx == 4:
            jj = 4
        elif keyxx == 5:
            jj = 1
        elif keyxx == 6:
            jj = 9
        elif keyxx == 7:
            jj = 6
        elif keyxx == 8:
            jj = 3
        elif keyxx == 9:
            jj = 0
        else:
            Flag = 0

        if keyx == 0:
            kk = 8
        elif keyx == 1:
            kk = 5
        elif keyx == 2:
            kk = 2
        elif keyx == 3:
            kk = 7
        elif keyx == 4:
            kk = 4
        elif keyx == 5:
            kk = 1
        elif keyx == 6:
            kk = 9
        elif keyx == 7:
            kk = 6
        elif keyx == 8:
            kk = 3
        elif keyx == 9:
            kk = 0
        else:
            Flag = 0

        ij = str(iii) + str(jj)
        ik = str(iii) + str(kk)

        ijk = [ij, ik]
        ## insert into
        ijkk = [1, 3, 6, 8]
        if num[x] not in ijkk and num[y] not in ijkk and num[z] not in ijkk:
            null += 1
            ss1 += 1
        '''
        if str(num[x]) + str(num[y]) in ijk:
            null += 1
            ss1 += 1
        '''
        if str(num[y]) + str(num[z]) in ijk:
            null += 1
            ss2 += 1
        s4 = ss1 + ss2

        # <5>==Before_two
        if str(num[x]) + str(num[y]) == beforexx:
            null += 1
            s51 += 1
        if str(num[y]) + str(num[z]) == beforexx:
            null += 1
            s52 += 1
        s5 = s51 + s52

        # <6>==(Another)
        # <6-1:Method>==max_min
        lx = num[x]
        ly = num[y]
        lz = num[z]


        def max_min(lx, ly, lz):
            list = []
            list.append(lx)
            list.append(ly)
            list.append(lz)
            list.sort()
            return list


        c = max_min(lx, ly, lz)

        # <6-2:A>==直接
        if num[x] == 0:
            null += 1
            sa1 += 1
        if c[0] == 7 or c[0] == 8 or c[0] == 9:
            null += 1
            sa2 += 1
        if c[1] == 0 or c[1] == 9:
            null += 1
            sa3 += 1
        if c[2] == 0 or c[1] == 1:
            null += 1
            sa4 += 1
        if c[2] - c[0] == 0 or c[2] - c[0] == 1:
            null += 1
            sa5 += 1
        if num[x] == singlexxx:
            null += 1
            sa6 += 1
        s6_a = sa1 + sa2 + sa3 + sa4 + sa5 + sa6

        # <6-3:B>==间接
        if num[x] + num[y] == 0 or num[x] + num[y] == 17:
            null += 1
            sb1 += 1
        if num[x] + num[z] == 0 or num[x] + num[z] == 18:
            null += 1
            sb2 += 1
        if num[y] + num[z] == 0 or num[y] + num[z] == 18:
            null += 1
            sb3 += 1

        s6_b = sb1 + sb2 + sb3
        s6 = s6_a + s6_b

        # <7>==Write to seed[]
        if null == 0:
            seed.append(lists[ii])
        null = 0

    ########################################################################
    ### Assert + Result
    ## <1>==Assert
    actual = str(Tomorrow[0]) + str(Tomorrow[1]) + str(Tomorrow[2])
    if actual in seed:
        success += 1
        print("Success!!!")
        print("Success:" + str(lines[i + 1]))
    else:
        fail += 1
        print("Fail to forecast!!!")
    ## <2>==Result
    count = len(seed)
    pay = count * 2
    receive = 1040 - pay
    print("Pay:" + str(pay) + ", Receive:" + str(receive))

    if success > testFlag:
        balance = balance + receive
        testFlag = success
    else:
        balance = balance - pay
    payall = payall + pay

    ## <3-1>==Recovery1
    s1 = s2 = s3 = s4 = s5 = s6 = 0
    s11 = s12 = 0
    s21 = s22 = s23 = s24 = 0
    s31 = s32 = s33 = s34 = 0
    ss1 = ss2 = 0
    s51 = s52 = 0
    s6_a = s6_b = 0
    sa1 = sa2 = sa3 = sa4 = sa5 = sa6 = 0
    sb1 = sb2 = sb3 = sb4 = sb5 = 0

    ## <3-2>==Recovery2
    Tai = [1, 4, 6, 8, 9]
    Yesterday = []
    Today = []
    Tomorrow = []
    issue = []
    date = []
    week = []
    b = []

    beforexx = 0
    keyxxx = 0
    keyxx = 0
    keyx = 0
    pay = 0

    seed = []

## <Three>===Output Report
print("\nSuccess count:" + str(success) + "次")
print("Paycount: " + str(payall) + " yuan")
print("Receive: " + str(1040 * success) + " yuan")
print("Profit: " + str(balance) + " yuan")
print(len(lines))

print("Good Luck!!! I'm Lei Feng!!!")

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

猜你喜欢

转载自blog.csdn.net/weixin_42205647/article/details/81094978
今日推荐