<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何使用 Python 實(shí)現(xiàn)彩票自由(雙色球)

          共 541字,需瀏覽 2分鐘

           ·

          2022-03-16 08:49


          大家好,我是安果!

          上篇文章聊到了 Python 實(shí)現(xiàn)大樂透彩票自由的完整流程

          如何使用 Python 實(shí)現(xiàn)彩票自由(大樂透)

          和體彩大樂透類似,福彩雙色球也是購買次數(shù)最多的彩種之一,相比大樂透,雙色球更容易中小獎(jiǎng)

          下面將介紹 Python 實(shí)習(xí)雙色球彩票自由的流程

          #?1. 隨機(jī)一注

          福彩雙色球一注同樣包含 7 個(gè)數(shù)字,包含 6?個(gè)紅球和 1?個(gè)籃球

          其中

          • 紅球是從 1 - 33?中選擇 6?個(gè)不同的數(shù)字

          • 藍(lán)球是從 1 - 16?中選擇 1?個(gè)不同的數(shù)字

          使用 Python 隨機(jī)生成一注雙色球號(hào)碼,部分代碼如下:

          def?gene_ssq(number):
          ????"""
          ????隨機(jī)產(chǎn)生幾注雙色球(6+1)
          ????:param?number:
          ????:return:
          ????"""

          ????result?=?[]

          ????for?item?in?range(number):
          ????????reds?=?[]

          ????????#?產(chǎn)生6個(gè)紅球
          ????????while?len(reds)?6:
          ????????????#?從1-33中隨機(jī)取一個(gè)數(shù)字
          ????????????temp_red_num?=?random.randint(1,?33)
          ????????????if?temp_red_num?not?in?reds:
          ????????????????reds.append(temp_red_num)

          ????????#?藍(lán)球
          ????????blue?=?random.randint(1,?16)

          ????????#?紅球排序
          ????????reds.sort()

          ????????#?數(shù)據(jù)預(yù)處理
          ????????reds?=?nums_pre(reds)
          ????????blue?=?nums_pre([blue])[0]

          ????????result.append('?'.join(reds)?+?"?+?"?+?blue)
          ????return?'\n'.join(result)

          需要注意的是,為了方便后面判斷是否中獎(jiǎng),這里對(duì)紅球列表進(jìn)行了一次數(shù)據(jù)預(yù)處理,將小于 10 的數(shù)字前面加上 0

          def?nums_pre(nums):
          ????"""
          ????購買數(shù)字預(yù)處理,如果是個(gè)位數(shù),加上0
          ????:param?nums:
          ????:return:
          ????"""

          ????if?nums:
          ????????if?isinstance(nums,?list)?or?isinstance(nums,tuple):
          ????????????return?['0{}'.format(int(item))?if?int(item)?10?else?str(int(item))?for?item?in?nums]
          ????????else:
          ????????????return?'0{}'.format(int(nums))?if?int(nums)?10?else?str(int(nums))
          ????else:
          ????????return?''

          #?2. 紅球固定或藍(lán)球固定

          這里以紅球固定、藍(lán)球固定兩個(gè)最簡單的場景為例,其他復(fù)雜的場景可以自行拓展

          2-1 ?紅球固定

          紅球固定的情況下,我們只需要隨機(jī)生成一個(gè)藍(lán)球,然后進(jìn)行數(shù)據(jù)預(yù)處理,最后組成一注號(hào)碼即可

          def?gene_blue_random_ssq(reds,?number):
          ????"""
          ????紅球固定,藍(lán)球隨機(jī)
          ????:param?reds:
          ????:param?number:
          ????:return:
          ????"""

          ????result?=?[]

          ????for?item?in?range(number):
          ????????#?藍(lán)球
          ????????blue?=?random.randint(1,?16)

          ????????#?紅球排序
          ????????reds.sort()

          ????????#?數(shù)據(jù)預(yù)處理
          ????????reds?=?nums_pre(reds)
          ????????blue?=?nums_pre([blue])[0]

          ????????result.append('?'.join(reds)?+?"?+?"?+?blue)
          ????return?'\n'.join(result)

          2-2? 藍(lán)球固定

          藍(lán)球固定時(shí),我們只需要從 1-33?中隨機(jī)生成 6?個(gè)不同的數(shù)字組成紅球

          def?gene_red_random_ssq(blue,?number):
          ????"""
          ????藍(lán)球固定,紅球隨機(jī)
          ????:param?blue:
          ????:param?number:
          ????:return:
          ????"""

          ????result?=?[]

          ????for?item?in?range(number):
          ????????reds?=?[]

          ????????#?產(chǎn)生6個(gè)紅球
          ????????while?len(reds)?6:
          ????????????#?從1-33中隨機(jī)取一個(gè)數(shù)字
          ????????????temp_red_num?=?random.randint(1,?33)
          ????????????if?temp_red_num?not?in?reds:
          ????????????????reds.append(temp_red_num)

          ????????#?紅球排序
          ????????reds.sort()

          ????????#?數(shù)據(jù)預(yù)處理
          ????????reds?=?nums_pre(reds)
          ????????blue?=?nums_pre([blue])[0]

          ????????result.append('?'.join(reds)?+?"?+?"?+?blue)
          ????return?'\n'.join(result)

          #?3. 爬取中獎(jiǎng)號(hào)碼

          相比體彩大樂透,雙色球的開獎(jiǎng)時(shí)間會(huì)稍微一些,煎蛋哥建議選擇晚上 10 點(diǎn)半進(jìn)行爬蟲

          目標(biāo)地址:

          aHR0cDovL2thaWppYW5nLjUwMC5jb20vc3RhdGljL2luZm8va2FpamlhbmcveG1sL3NzcS9saXN0LnhtbA==

          該網(wǎng)站通過 XML 數(shù)據(jù)展示了過去每一期雙色球的中獎(jiǎng)號(hào)碼,我們只需要使用正則表達(dá)式匹配出所有中獎(jiǎng)號(hào)碼,取最近的一期號(hào)碼即可

          import?re
          import?requests

          class?SSQ(object):

          ????def?__init__(self):
          ????????#?具體的地址請(qǐng)解碼后自行替換
          ????????self.url?=?'**/xml/ssq/list.xml'
          ????????self.headers?=?{
          ????????????'User-Agent':?'Mozilla/5.0?(Macintosh;?Intel?Mac?OS?X?10_11_2)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/71.0.3578.98?Safari/537.36'
          ????????}

          ????def?get_last_ssq_lucky(self):
          ????????#?發(fā)起請(qǐng)求
          ????????reponse?=?requests.get(url=self.url,?headers=self.headers)

          ????????#?正則規(guī)則
          ????????pattern?=?re.compile(r')

          ????????#?雙色球數(shù)據(jù)
          ????????ssq_raw_list?=?pattern.findall(reponse.text)

          ????????results?=?[]

          ????????for?item?in?ssq_raw_list:
          ????????????#?期數(shù)、數(shù)據(jù)、時(shí)間
          ????????????no,?info,?create_at?=?item
          ????????????#?6個(gè)紅球、1個(gè)籃球
          ????????????red,?blue?=?info.split("|")

          ????????????red_datas?=?red.split(",")

          ????????????results.append(
          ????????????????[no,?red_datas[0],?red_datas[1],?red_datas[2],?red_datas[3],?red_datas[4],?red_datas[5],?blue,
          ?????????????????create_at]
          ????????????)

          ????????#?最近的一期中獎(jiǎng)號(hào)碼
          ????????last_lottery?=?results[0]

          ????????return?[last_lottery[1],?last_lottery[2],?last_lottery[3],?last_lottery[4],?last_lottery[5],?last_lottery[6]],?\
          ???????????????last_lottery[7]

          # 4. 是否中獎(jiǎng)

          根據(jù)雙色球官網(wǎng)提供中獎(jiǎng)規(guī)則,我們根據(jù)紅球中獎(jiǎng)個(gè)數(shù)、藍(lán)球中獎(jiǎng)個(gè)數(shù)組成中獎(jiǎng)信息即可

          實(shí)現(xiàn)代碼如下:

          ...
          def?judge_ssq_lucky(red_nums_result,?red_nums_buy,?blue_num_result,?blue_num_buy):
          ????"""
          ????根據(jù)中獎(jiǎng)號(hào)碼及購買號(hào)碼,返回對(duì)應(yīng)的中獎(jiǎng)信息
          ????:param?red_nums_result:
          ????:param?red_nums_buy:
          ????:param?blue_num_result:
          ????:param?blue_num_buy:
          ????:return:
          ????"""

          ????#?紅球預(yù)測的數(shù)目
          ????red_lucky_count?=?0
          ????#?籃球預(yù)測的數(shù)目
          ????blue_lucky_count?=?0

          ????#?數(shù)據(jù)預(yù)處理
          ????red_nums_buy?=?nums_pre(red_nums_buy)
          ????blue_num_buy?=?nums_pre(blue_num_buy)

          ????#?判斷紅球
          ????for?red_result_item?in?red_nums_result:
          ????????for?red_buy_item?in?red_nums_buy:
          ????????????if?red_result_item?==?red_buy_item:
          ????????????????red_lucky_count?+=?1

          ????#?判斷藍(lán)球
          ????if?blue_num_result?==?blue_num_buy:
          ????????blue_lucky_count?=?1

          ????#?據(jù)福彩雙色球的中獎(jiǎng)規(guī)則所寫,包括了所有的紅藍(lán)組合以及相對(duì)應(yīng)的中獎(jiǎng)情況
          ????if?red_lucky_count?==?6?and?blue_lucky_count?==?1:
          ????????luck_level?=?1??#?一等獎(jiǎng)(6+1)
          ????elif?red_lucky_count?==?6?and?blue_lucky_count?==?0:
          ????????luck_level?=?2??#?二等獎(jiǎng)(6+0)
          ????elif?red_lucky_count?==?5?and?blue_lucky_count?==?1:
          ????????luck_level?=?3??#?三等獎(jiǎng)(5+1)
          ????elif?red_lucky_count?==?5?and?blue_lucky_count?==?0:
          ????????luck_level?=?4??#?四等獎(jiǎng)(5+0)
          ????elif?red_lucky_count?==?4?and?blue_lucky_count?==?1:
          ????????luck_level?=?4??#?四等獎(jiǎng)(4+1)
          ????elif?red_lucky_count?==?4?and?blue_lucky_count?==?0:
          ????????luck_level?=?5??#?五等獎(jiǎng)(4+0)
          ????elif?red_lucky_count?==?3?and?blue_lucky_count?==?1:
          ????????luck_level?=?5??#?五等獎(jiǎng)(3+1)
          ????elif?red_lucky_count?==?0?and?blue_lucky_count?==?1:
          ????????luck_level?=?6??#?六等獎(jiǎng)(0+1)
          ????elif?red_lucky_count?==?1?and?blue_lucky_count?==?1:
          ????????luck_level?=?6??#?六等獎(jiǎng)(1+1)
          ????elif?red_lucky_count?==?2?and?blue_lucky_count?==?1:
          ????????luck_level?=?6??#?六等獎(jiǎng)(2+1)
          ????else:
          ????????luck_level?=?-1

          ????return?__get_lucky_desc(luck_level),luck_level

          # 5. 總結(jié)一下

          通過上面的幾個(gè)步驟,我們實(shí)現(xiàn)了福彩雙色球的選號(hào)、爬取中獎(jiǎng)號(hào)碼、判斷是否中獎(jiǎng)等功能,彩票完全自動(dòng)化還有部分內(nèi)容,在后面文章我們?cè)偌?xì)聊

          相比體彩大樂透,福彩雙色球雖然獎(jiǎng)項(xiàng)配置少一點(diǎn),但是在尾部獎(jiǎng)項(xiàng)上更容易中取;彩票作為一項(xiàng)公益事業(yè),建議大家抱著做公益、娛樂的性質(zhì)理性購買

          我已將文中所有源碼上傳到下方公眾號(hào)后臺(tái),關(guān)注公眾號(hào)后回復(fù)關(guān)鍵字ssq?」即可以獲取

          如果你覺得文章還不錯(cuò),請(qǐng)大家?點(diǎn)贊、分享、留言?下,因?yàn)檫@將是我持續(xù)輸出更多優(yōu)質(zhì)文章的最強(qiáng)動(dòng)力!


          瀏覽 74
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人黄色网址大全 | 美女高潮水视频 | 国产春色 | 黄色片网站在线免费观看视频 | 一级黄片乱伦 |