天天看點

Python實作彩票雙色球、大樂透随機預測出号

彩票要是能通過預測都能拿獎,那也是需要攢多少人品才行呀

老老實實做好事,多積德行善,做公益

Python實作彩票雙色球、大樂透随機預測出号

近期出差的時候,閑來沒事,下班路過彩站每天都順便買一張彩票。

同時,就引發了對所學專業的應激反應,想了一下能不能通過什麼算法來實作對彩票号碼的預測。

Python實作彩票雙色球、大樂透随機預測出号

。。。

(此處省略上萬字的頭腦風暴)

當然,肯定有不少人對彩票出号進行研究,對于機率這個問題牽涉到一系列的随機性數學問題。

機器學習、人工智能、神經網絡等算法的時代,必然少不了對彩票的預測,但是,但是,但是,所有的預測資料都得通過對曆史資料的訓練,然後再對未來進行預測,這樣的話光從算法層面來講是沒有任何問題的,但是,但是,但是忽略了一個問題,每次出号的并不是通過代碼來出開獎号碼的,搖獎的是一台搖獎機器,這台機器沒人能夠得到,也沒辦法對搖獎機器進行分析,倘若光從曆史資料的層面進行分析的話,無論訓練多少次,模型建立的再好,面對這樣一台實體的搖獎機器,科學還是低下了頭,根本不存在什麼預測,這樣的預測還不如每次都買自己的生日号碼,或許還能沾一點運氣成分。

關于搖獎機器,又引發了我的另一個猜想。要是能夠得到這樣一台一模一樣的機器,可以對每個球,整個搖獎機器的各種特征,包括大小,材質,體積,壓力,通電電壓,電流,球重力,每次磨損等等一系列的實體量。如果能夠得到這些資料,那麼,是不是能夠建立一個更加精确的模型,加上之前開獎的曆史資料,是不是能夠讓整個模型訓練的更加完美,實作對搖号的真正意義上的搖号?

此時,

我又陷入了

Python實作彩票雙色球、大樂透随機預測出号

終于

Python實作彩票雙色球、大樂透随機預測出号

還是别想這些想不到的啦

回歸現實吧

該搬磚還得搬磚

該996還得996

Python實作彩票雙色球、大樂透随機預測出号

回歸現實

多多行善

你以為你看到這就完了

|

其實

最終還引發了我最後的一個猜想,既然得不到搖獎機器,又不能通過各種高端的算法來預測

隻有魔法才能打敗魔法

那何不以毒攻毒

以亂破亂

以無規律破無規律

以随機應随機

身體,再具體一點,這雙能吃飯、能敲代碼、能寫論文的手緊接着就回答了一個:好!

下面是雙色球的随機出号代碼,出5個号碼,正好可以買5注買滿:

import random, time

def random_lottery():
    list_red = [x for x in range(1, 34)]      # 紅色球序列為:1~33号
    res = random.sample(list_red, 6)          # 随機選取6個紅球
    res.sort()                                # 對選取的6個紅球排序
    res.append(random.randint(1, 16))         # 随機選取1個藍球,藍球為1-16号

    return res

if __name__ == '__main__':
    for i in range(5):

        res_ = random_lottery()
        now_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())      # 擷取目前時期
        print('今日%r雙色球選号(%r): %r.' % (now_time, i+1, res_))
        time.sleep(2)  # 延時2s


    print("祝我好運!")      

效果如下:

Python實作彩票雙色球、大樂透随機預測出号

下一次開獎是明天(7月8号),要是這幾個号有中獎的記得給我說哦!!!

雙色球能出,那麼大樂透也能出,也是出5個号:

import random, time

def Biglottery():
    list_red = [x for x in range(1,36)]        # 1~35号 紅色球序列
    list_blue = [x for x in range(1,13)]       # 1~12号 藍色球序列

    res_red = random.sample(list_red, 5)       # 随機選取5個紅球
    res_blue = random.sample(list_blue, 2)     # 随機選取2個紅球

    res_red.sort()                             # 對選取的5個紅球排序
    res_blue.sort()                            # 對選取的2個藍球排序

    return res_red, res_blue

if __name__ == '__main__':
    for i in range(5):
        now_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())  # 擷取目前時期
        res_r, res_b = Biglottery()
        res = res_r + res_b
        print('今日%r大樂透選号(%r): %r.' % (now_time, i+1, res))
        time.sleep(2)  # 延時2s

    print("祝我好運!")      
Python實作彩票雙色球、大樂透随機預測出号