Python怎么实现双色球号码随机生成
发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇"Python怎么实现双色球号码随机生成"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2025年01月16日Python怎么实现双色球号码随机生成
这篇"Python怎么实现双色球号码随机生成"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Python怎么实现双色球号码随机生成"文章吧。
1. 随机一注
福彩双色球一注同样包含 7 个数字,包含 6 个红球和 1 个篮球
其中
红球是从 1 - 33 中选择 6 个不同的数字
蓝球是从 1 - 16 中选择 1 个不同的数字
使用 Python 随机生成一注双色球号码,部分代码如下:
def gene_ssq(number): """ 随机产生几注双色球(6+1) :param number: :return: """ result = [] for item in range(number): reds = [] # 产生6个红球 while len(reds) < 6: # 从1-33中随机取一个数字 temp_red_num = random.randint(1, 33) if temp_red_num not in reds: reds.append(temp_red_num) # 蓝球 blue = random.randint(1, 16) # 红球排序 reds.sort() # 数据预处理 reds = nums_pre(reds) blue = nums_pre([blue])[0] result.append(' '.join(reds) + " + " + blue) return '\n'.join(result)
需要注意的是,为了方便后面判断是否中奖,这里对红球列表进行了一次数据预处理,将小于 10 的数字前面加上 0
def nums_pre(nums): """ 购买数字预处理,如果是个位数,加上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. 红球固定或蓝球固定
这里以红球固定、蓝球固定两个最简单的场景为例,其他复杂的场景可以自行拓展
红球固定
红球固定的情况下,我们只需要随机生成一个蓝球,然后进行数据预处理,最后组成一注号码即可
def gene_blue_random_ssq(reds, number): """ 红球固定,蓝球随机 :param reds: :param number: :return: """ result = [] for item in range(number): # 蓝球 blue = random.randint(1, 16) # 红球排序 reds.sort() # 数据预处理 reds = nums_pre(reds) blue = nums_pre([blue])[0] result.append(' '.join(reds) + " + " + blue) return '\n'.join(result)
蓝球固定
蓝球固定时,我们只需要从 1-33 中随机生成 6 个不同的数字组成红球
def gene_red_random_ssq(blue, number): """ 蓝球固定,红球随机 :param blue: :param number: :return: """ result = [] for item in range(number): reds = [] # 产生6个红球 while len(reds) < 6: # 从1-33中随机取一个数字 temp_red_num = random.randint(1, 33) if temp_red_num not in reds: reds.append(temp_red_num) # 红球排序 reds.sort() # 数据预处理 reds = nums_pre(reds) blue = nums_pre([blue])[0] result.append(' '.join(reds) + " + " + blue) return '\n'.join(result)
3. 爬取中奖号码
相比体彩大乐透,双色球的开奖时间会稍微一些,煎蛋哥建议选择晚上 10 点半进行爬虫
目标地址:
aHR0cDovL2thaWppYW5nLjUwMC5jb20vc3RhdGljL2luZm8va2FpamlhbmcveG1sL3NzcS9saXN0LnhtbA==
该网站通过 XML 数据展示了过去每一期双色球的中奖号码,我们只需要使用正则表达式匹配出所有中奖号码,取最近的一期号码即可
import reimport requestsclass SSQ(object): def __init__(self): # 具体的地址请解码后自行替换 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): # 发起请求 reponse = requests.get(url=self.url, headers=self.headers) # 正则规则 pattern = re.compile(r'4. 是否中奖
根据双色球官网提供中奖规则,我们根据红球中奖个数、蓝球中奖个数组成中奖信息即可
实现代码如下:
...def judge_ssq_lucky(red_nums_result, red_nums_buy, blue_num_result, blue_num_buy): """ 根据中奖号码及购买号码,返回对应的中奖信息 :param red_nums_result: :param red_nums_buy: :param blue_num_result: :param blue_num_buy: :return: """ # 红球预测的数目 red_lucky_count = 0 # 篮球预测的数目 blue_lucky_count = 0 # 数据预处理 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 # 判断蓝球 if blue_num_result == blue_num_buy: blue_lucky_count = 1 # 据福彩双色球的中奖规则所写,包括了所有的红蓝组合以及相对应的中奖情况 if red_lucky_count == 6 and blue_lucky_count == 1: luck_level = 1 # 一等奖(6+1) elif red_lucky_count == 6 and blue_lucky_count == 0: luck_level = 2 # 二等奖(6+0) elif red_lucky_count == 5 and blue_lucky_count == 1: luck_level = 3 # 三等奖(5+1) elif red_lucky_count == 5 and blue_lucky_count == 0: luck_level = 4 # 四等奖(5+0) elif red_lucky_count == 4 and blue_lucky_count == 1: luck_level = 4 # 四等奖(4+1) elif red_lucky_count == 4 and blue_lucky_count == 0: luck_level = 5 # 五等奖(4+0) elif red_lucky_count == 3 and blue_lucky_count == 1: luck_level = 5 # 五等奖(3+1) elif red_lucky_count == 0 and blue_lucky_count == 1: luck_level = 6 # 六等奖(0+1) elif red_lucky_count == 1 and blue_lucky_count == 1: luck_level = 6 # 六等奖(1+1) elif red_lucky_count == 2 and blue_lucky_count == 1: luck_level = 6 # 六等奖(2+1) else: luck_level = -1 return __get_lucky_desc(luck_level),luck_level以上就是关于"Python怎么实现双色球号码随机生成"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
号码
蓝球
双色
双色球
数据
数字
预处理
生成
中奖号码
内容
不同
篮球
规则
排序
选择
个数
五等奖
代码
信息
四等奖
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
图像服务器管理工具
法国网络安全现状
绍兴视觉测量系统软件开发
数据库的对象不包括什么
阿里云数据库恢复到前一天
开发数据库的常用流程
虚拟环境数据库是什么设备
关于网络安全方面的画
app 数据库 开发
江苏程序软件开发如何收费
王牌战争如何自己开服务器教学
救世主软件开发
wpf数据库的底层代码
道路安全 网络安全宣讲材料
悍铭数据库搬家
vps与云服务器是什么
329t数据库坏了怎么修复
软件开发单一来源
数据库账号是什么
服务器配置高但是显卡不支持
c语言与数据库结合
军团要塞2服务器怎么进入
菜鸟网络技术论坛 唐韧
贯彻执行网络安全方针
餐饮蔬菜配送软件开发
信息技术导论之网络安全导论
曲靖蓝鼎软件开发有限公司
网络安全手抄报曲洲老师
亳州通信软件开发多少钱
湖电网络安全事故