最近自学python,主要还是被铺天盖地的广告洗了个脑,完全外行,学python就是为了好玩和轻量化的自动办公。然后一日突发奇想,双色球是概率问题,但是有单注和复式的玩法,那么怎么买比较科学呢?所以撸了以下的代码出来,部分双色球代码参考了网上的现成代码来修改的。

按我以前买彩票的风格,历来都是随机,所以我考虑了一下,代码具体逻辑是这样的,先生成一注中奖的号码,然后去买彩票,如果不中就重来,然后把买了几次彩票写进excel里面,后续来统计看看(这里主要是边学边写,先写出来的就算中奖吧,不过原理应该都一样),具体的代码如下:

import random
from openpyxl import load_workbook
a = 1 #中奖次数
while a <= 42: # 中奖次数buys = 0    # 购买次数while True:# 生成一注机选彩票# 生成红球部分numbers_redballs = []number_redballs = 1while number_redballs < 34 :  # 生成红球池numbers_redballs.append(number_redballs)number_redballs += 1computer_redballs = []count_redballs = 1while count_redballs <= 6 :  # 选择6个红球index = random.randint(0, len(numbers_redballs) - 1)  # 从红球池里面拿6个数字number_redballs = numbers_redballs[index]computer_redballs.append(number_redballs)del numbers_redballs[index]count_redballs += 1computer_redballs.sort()# 生成蓝球部分numbers_blueballs = []number_blueballs = 1while number_blueballs < 17 :  # 生成红球池numbers_blueballs.append(number_blueballs)number_blueballs += 1computer_blueballs = []count_blueballs = 1while count_blueballs <= 1 :  # 选择1个蓝球index = random.randint(0, len(numbers_blueballs) - 1)  # 从蓝球池里面拿2个数字number_blueballs = numbers_blueballs[index]computer_blueballs.append(number_blueballs)del numbers_blueballs[index]count_blueballs += 1computer_blueballs.sort()# 购买一注复式彩票红色球多一个# 生成红球部分buy_numbers_redballs = []buy_number_redballs = 1while buy_number_redballs < 34 :  # 生成红球池buy_numbers_redballs.append(buy_number_redballs)buy_number_redballs += 1buy_redballs = []buy_count_redballs = 1while buy_count_redballs <= 7:  # 选择几个红球index = random.randint(0, len(buy_numbers_redballs) - 1)  # 从红球池里面拿6个数字buy_number_redballs = buy_numbers_redballs[index]buy_redballs.append(buy_number_redballs)del buy_numbers_redballs[index]buy_count_redballs += 1buy_redballs.sort()# 生成蓝球部分buy_numbers_blueballs = []buy_number_blueballs = 1while buy_number_blueballs < 17 :  # 生成红球池buy_numbers_blueballs.append(buy_number_blueballs)buy_number_blueballs += 1buy_blueballs = []buy_count_blueballs = 1while buy_count_blueballs <= 2 :  # 选择几个蓝球index = random.randint(0, len(buy_numbers_blueballs) - 1)  # 从蓝球池里面拿数字buy_number_blueballs = buy_numbers_blueballs[index]buy_blueballs.append(buy_number_blueballs)del buy_numbers_blueballs[index]buy_count_blueballs += 1buy_blueballs.sort()b = set(computer_redballs) # b是中奖红球号码c = set(computer_blueballs) # c是中奖蓝球号码d = set(buy_redballs) # d是复式红球号码e = set(buy_blueballs) # e是复式蓝球号码# 中奖判断if d.issuperset(b) and e.issuperset(c):buys += 1print(f'在购买第{buys}次彩票后,你终于中一等奖了,你一共花费了{buys*2}元!') #这里懒得改了print('红色球号码为:{}'.format(computer_redballs))print('蓝色球号码为:{}'.format(computer_blueballs))print('双色球号码为:{}+'.format(computer_redballs), end="")print("[{}]".format(computer_blueballs))print('你购买的红色球号码为:{}'.format(buy_redballs))print('你购买的蓝色球号码为:{}'.format(buy_blueballs))print('你购买的双色球号码为:{}+'.format(buy_redballs), end="")print("[{}]".format(buy_blueballs))workbook = load_workbook(filename='test.xlsx') # 把中奖次数写进excel里面,来统计一下结果sheet = workbook['Sheet1']sheet.append([buys])workbook.save(filename='test.xlsx')a += 1breakelse:if buys % 1000000 == 0 and buys > 0:print(f'第{buys}次购买彩票,很可惜没中奖!')buys += 1else:buys += 1
目前模拟了222次单注,7+1,7+2的方式,大概概率如下,至于为什么是222次呢?因为单注中奖概率太低了,一开始设置循环1000次,在办公室挂机一晚上,第二天上班一看,才中了222次,好吧就222次吧,后续继续模拟看看到底哪种买彩票科学一点。

至于能不能更高度的自动跑,待大神出手了!!!

用python模拟双色球中奖,看看怎么买彩票最科学相关推荐

  1. Linux:模拟双色球中奖的脚本

    模拟双色球中奖的脚本 前几天已经写过一个模拟双色球生成一注号码的脚本,这次调整了一下代码,把中奖的过程也写进去,实现双色球的抽奖功能. 画出代码的流程图 脚本如下 #!/bin/bash functi ...

  2. 用C#实现模拟双色球中奖程序 控制台应用程序

    用C#实现模拟双色球中奖控制台应用程序 前言 课题介绍 用到的按键 程序设计 核心代码 完 前言 这是我在大一第一学期C#的课程设计,要求编写一个模拟双色球彩票的控制台应用程序,用以实现简单的模拟选购 ...

  3. 用C#实现模拟双色球中奖控制台应用程序

    1. 前言 其实这是我在大一第一学期CSharp的课程设计,要求编写一个模拟双色球彩票的控制台应用程序,用以实现简单的模拟选购彩票. 但最近我重新看我的博客时感觉之前写的代码还是有很多不足之处,比如变 ...

  4. python获取历史双色球数据_你的梦想,我来买单!Python分析双色球中奖号码竟成功获取特等奖

    关于双色球的话题估计大家都听的很多,毕竟成本很低,但是收获很高.毕竟当利润达到100%时,就有人敢于铤而走险.当利润达到200%时,他们就敢于冒上断头台的危险. 而当利润达到300%他们就会践踏人间的 ...

  5. Python 模拟双色球抽奖

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.双色球玩法说明: 二.使用步骤 1.引入库 2.初始化数据 2.抽奖机制实现 总结 前言 为了巩固学习Python ...

  6. python双色球的开发原理_我用Python爬虫获取数据,分析双色球中奖概率,差点就中了...

    很多人喜欢买彩票,但是经常买彩票的人要么想着一夜暴富,要么想着改变命运,要么是娱乐娱乐,但是小编也要提醒大家一句,哪里能赚钱,哪里就有奸商,做事须谨慎. 前两天,在网上看到一个有意思的问题:彩票预测靠 ...

  7. python抓取每期双色球中奖号码,用于分析

    获取每期双色球中奖号码,便于观察,话不多说,代码如下 # -*- coding:utf-8 -*- # __author__ :kusy # __content__:获取每期双色球中奖号码 # __d ...

  8. 优先处理我的问题,帮我编写获取双色球中奖号码的历史数据的python代码

    好的,以下是一个获取双色球中奖号码历史数据的Python代码示例,使用requests和BeautifulSoup库从网站上抓取数据: import requests from bs4 import ...

  9. 用简单的Python语句写了个模拟双色球摇奖,希望能中。。

    用简单的Python语句写了个模拟双色球摇奖,希望能中.. import random; #利用Python中的random.sample()函数实现 resultList = random.samp ...

最新文章

  1. 有关于我的SDL所使用的环境
  2. linux文件夹权限问题
  3. jpa命名 多条件查询命名_JPA 2 | 动态查询与命名查询
  4. 什么是 HTML5?
  5. nginx静态文件服务器_Linux分享文件?快速创建静态文件服务器
  6. 在STM8单片机中自己实现 printf()函数功能
  7. [米家]窗帘电机【立创开源】
  8. 我要砍价-自动砍价-思路
  9. # 吴恩达 · 机器学习笔记(① Introduction to Machine Learning)
  10. 追寻红色记忆、晋国文明之思考毕业季研学营
  11. 鼠标悬停帮助图标显示文字提示框代码
  12. MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南
  13. Linux服务器互信
  14. 用Python对PDF去水印(终极版)原则上所有水印都可去除(Pdftron)
  15. 字节LastDay,告别十个月的实习生活,流水账与一些思考
  16. 《前端开发者的进阶之路》
  17. 聚类算法(五)——层次聚类 linkage (含代码)
  18. 东财mysql数据库作业_东财17春《MySQL数据库系统及应用》在线作业二三一答案(随机)...
  19. 解决“WARN: Establishing SSL connection without server‘s identity verification is not recommended.”问题
  20. ios敏捷开发的理解

热门文章

  1. python pygame小游戏素材图片_pygame 打飞机(小游戏)
  2. MySQL万字精华总结!达内Java学费
  3. 不用軟體解PPT密碼
  4. 终结者2018,Everybody Deserved Second Chance
  5. ISO 国 际 标 准
  6. [原创]react native 注意事项
  7. 如何使用word自动生成目录?
  8. (增加虚拟机)安装lite自带的benchmark和使用方法
  9. 喜报!智汇云舟签约优质项目 视频孪生加速赋能千行百业数智化转型
  10. Element UI非活性时(Disabled),改变字体颜色