凯发娱乐城

注册游戏账号

新葡京娱乐城

进入游戏大厅

博天堂娱乐城

真人棋牌游戏开户

您现在的位置:真钱棋牌游戏 > 游戏问答 > 正文

每个人应该都幻想过彩票中奖吧我用Python来实现

来源:http://www.789yule.net 作者:游戏问答

真人棋牌游戏

博天堂

  现金扑克游戏每个人应该都幻想过彩票中奖吧我用Python来实现
我想大家应该也和小编一样吧,小编路过彩票店的时候,一般都会花几块钱买几注的!毕竟万一要中奖了呢,是吧!那谁还上班啊,虽然可能就中相当于一套房子钱!但这都是钱啊!
但是往往都是没中,或者就中个五块钱左右吧!哈哈哈 可能是还没轮到我中这个大奖吧!
好了,题外话不多说了!今天是来讲技术的,不是讲彩票的!毕竟那个东西看运气看命的 哈哈哈!娱乐就行啦
需求介绍
该需求主要是分析彩票的历史数据,彩票的名称为:


1、极速飞艇2、极速赛车
客户的需求是根据彩票的前两期的情况,如果存在某个斜着的两个数字相等,那么就买第三期的同一个位置处的彩票,
对于极速飞艇,如果相等的数字是:1-5,那就买6-10,如果相等的数字是:6-10,那就买1-5;
对于极速赛车,如果相等的数字是:1-5,那就买1-5,如果相等的数字是:6-10,,那就买6-10。


每个人应该都幻想过彩票中奖吧我用Python来实现


每个人应该都幻想过彩票中奖吧我用Python来实现




然后,根据这个方案,有可能会买中,但是也有可能买不中,于是,客户希望我可以统计出来在100天中,按照这种方法,连续6次以及6次以上的购买彩票才能够命中一次奖的次数以及分别所对应的时间,对于这个案例,我们下面详细分析。


二、以极速飞艇为例进行数据分析

(在这里,我们先利用 Jupyter Notebook 来进行分析,然后,在得到成果以后,利用 Pycharm 来进行完整的程序设计。)
1、获取一天的数据打开如下图所示的界面可以获取到网址以及请求头:①、网址(历史数据的网址)


每个人应该都幻想过彩票中奖吧我用Python来实现




②、请求头




每个人应该都幻想过彩票中奖吧我用Python来实现




然后我们在程序中进行代码书写获取数据:




每个人应该都幻想过彩票中奖吧我用Python来实现




每个人应该都幻想过彩票中奖吧我用Python来实现




然后进行一定的预处理:




每个人应该都幻想过彩票中奖吧我用Python来实现


2、开始一天的数据的分析
这里我们直接展示代码:
def reverse_list(lst): """ 准换列表的先后顺序 :param lst: 原始列表 :return: 新的列表 """ return [ele for ele in reversed(lst)] low_list = ["01", "02", "03", "04", "05"] # 设置比较小的数字的列表 high_list = ["06", "07", "08", "09", "10"] # 设置比较大的数字的列表 N = 0 # 设置一个数字N来记录一共有多少期可以购买 n = 0 # 设置一个数字n来记录命中了多少期彩票 record_number = 1 # 设置记录数据的一个判断值 list_data_number = [] # 设置一个空的列表来存储一天之中的连续挂掉的期数 dict_time_record = {} # 设置一个空的字典来存储连挂掉的期数满足所列条件的时间节点 for k in range(1152): # 循环遍历所有的数据点 if k < 1150: new_result1 = reverse_list(new_response["result"]["data"])[k] # 第一期数据 new_result2 = reverse_list(new_response["result"]["data"])[k + 1] # 第二期数据 new_result3 = reverse_list(new_response["result"]["data"])[k + 2] # 第三期数据 data1 = new_result1[preDrawCode].split(,) # 第一期数据 data2 = new_result2[preDrawCode].split(,) # 第二期数据 data3 = new_result3[preDrawCode].split(,) # 第三期数据 for m in range(10): # 通过循环来判断是否满足购买的条件,并且实现一定的功能 if m == 0: if data2[0] == data1[1]: # 如果相等就要结束循环 N += 1 # 可以购买的期数应该要自加一 if (data2[0] in low_list and data3[0] in low_list) or (data2[0] in high_list and data3[0] in high_list): n += 1 # 命中的期数应该要自加一 # 如果命中了的话,本轮结束,开启下一轮 list_data_number.append(record_number) if f"{record_number}" in dict_time_record.keys(): # 如果已经有了这个键,那么值添加时间点 dict_time_record[f"{record_number}"].append(new_result3[preDrawTime][11:]) else: # 如果没有这个键,那么添加一个键值对,值为一个列表,而且初始化为当前的时间 dict_time_record[f"{record_number}"] = [new_result3[preDrawTime][11:]] record_number = 1 # 初始化下一轮的开始 else: record_number += 1 # 如果没有命中的话,次数就应该要自加一 break # 如果满足相等的条件就要结束循环 elif m == 9: # 与上面差不多的算法 if data2[9] == data1[8]: # 如果相等 N += 1 if (data2[9] in low_list and data3[9] in low_list) or (data2[9] in high_list and data3[9] in high_list): n += 1 list_data_number.append(record_number) if f"{record_number}" in dict_time_record.keys(): dict_time_record[f"{record_number}"].append(new_result3[preDrawTime][11:]) else: dict_time_record[f"{record_number}"] = [new_result3[preDrawTime][11:]] record_number = 1 else: record_number += 1 break else: # 与上面差不多的算法 if data2[m] == data1[m + 1] or data2[m] == data1[m - 1]: # 如果相等 N += 1 if (data2[m] in low_list and data3[m] in low_list) or (data2[m] in high_list and data3[m] in high_list): n += 1 list_data_number.append(record_number) if f"{record_number}" in dict_time_record.keys(): dict_time_record[f"{record_number}"].append(new_result3[preDrawTime][11:]) else: dict_time_record[f"{record_number}"] = [new_result3[preDrawTime][11:]] record_number = 1 else: record_number += 1 break print(f"日期:{new_response[result][data][0][preDrawTime][:10]},总的梯子数为{N}个,一共有{n}次命中,一共有{N - n}次挂了") # 打印时间,以及,可以购买的期数,命中的期数,没有命中的期数 list_data_number.sort() # 按照大小顺序来进行排序 dict_record = {} # 设置空字典进行记录 for i in list_data_number: if f"{i}" in dict_record.keys(): # 判断是否已经有了这个数字? dict_record[f"{i}"] += 1 # 如果有的话,那么就会自加一 else: # 如果没有的话,那么就会创建并且赋值等于 1 dict_record[f"{i}"] = 1 # 创建一个新的字典元素,然后进行赋值为 1 for j in dict_record.keys(): if (int(j) >= 6) and (int(j) < 15): # 实际的结果表明,我们需要的是大于等于6期的数据,而没有出现大于15的数据,因此有这样的一个关系式 print(f"买{j}次才中奖的次数为{dict_record[j]}") # 打印相关信息 print(dict_time_record[j]) str0 = "" for letter in dict_time_record[j]: str0 += letter str0 += ", " print(str0) # 打印相关信息运行结果的展示如下图所示:




每个人应该都幻想过彩票中奖吧我用Python来实现




3、循环日期进行多天的数据分析:
首先设置一个事件列表来记录需要统计哪些天的数据:
代码:
data_list = [] for h in range(31): data_list.append(f1-{h + 1}) for h in range(28): data_list.append(f2-{h + 1}) for h in range(31): data_list.append(f3-{h + 1}) for h in range(20): data_list.append(f4-{h + 1})通过上述的代码,我们即实现了时间列表的设置,然后我们循环遍历这个列表访问不同日期的彩票数据即就是得到了不同时间的数据,然后再利用上述的分析方法来进行数据分析,即就是可以得到了多天的彩票数据分析的结果了。


4、将数据写入Excel表格中
这里我们可以采用xlwt 模块来进行excel表格的写入操作啦,具体的写入就不必过多赘述了。
三、完整的代码展示

以下是完整的代码:
import requests import chardet import json import xlwt # excel 表格数据处理的对应模块 def reverse_list(lst): """ 准换列表的先后顺序 :param lst: 原始列表 :return: 新的列表 """ return [ele for ele in reversed(lst)] data_list = [] for h in range(31): data_list.append(f1-{h + 1}) for h in range(28): data_list.append(f2-{h + 1}) for h in range(31): data_list.append(f3-{h + 1}) for h in range(20): data_list.append(f4-{h + 1}) wb = xlwt.Workbook() # 创建 excel 表格 sh = wb.add_sheet(彩票分析数据处理) # 创建一个 表单 sh.write(0, 0, "日期") sh.write(0, 1, "梯子数目") sh.write(0, 2, "命中数目") sh.write(0, 3, "挂的数目") sh.write(0, 4, "6次中的数目") sh.write(0, 5, "6次中的时间") sh.write(0, 6, "7次中的数目") sh.write(0, 7, "7次中的时间") sh.write(0, 8, "8次中的数目") sh.write(0, 9, "8次中的时间") sh.write(0, 10, "9次中的数目") sh.write(0, 11, "9次中的时间") sh.write(0, 12, "10次中的数目") sh.write(0, 13, "10次中的时间") sh.write(0, 14, "11次中的数目") sh.write(0, 15, "11次中的时间") sh.write(0, 16, "12次中的数目") sh.write(0, 17, "12次中的时间") sh.write(0, 18, "13次中的数目") sh.write(0, 19, "13次中的时间") sh.write(0, 20, "14次中的数目") sh.write(0, 21, "14次中的时间") # wb.save(test4.xls) sheet_seek_position = 1 # 设置表格的初始位置为 1 for data in data_list: low_list = ["01", "02", "03", "04", "05"] high_list = ["06", "07", "08", "09", "10"] N = 0 n = 0 url = fhttps://api.api68.com/pks/getPksHistoryList.do?date=2021-{data}&lotCode=10037 headers = { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36 } response = requests.get(url=url, headers=headers) response.encoding = chardet.detect(response.content)[encoding] new_response = json.loads(response.text) sh.write(sheet_seek_position, 0, new_response[result][data][0][preDrawTime][:10]) # 在表格的第一个位置处写入时间,意即:data record_number = 1 # 记录数据的一个判断值,设置为第一次,应该是要放在最外面的啦 list_data_number = [] # 设置一个空列表来存储一天之中的连续挂的期数 dict_time_record = {} for k in range(1152): # record_number = 1,应该要放外面 # 记录数据的一个判断值,设置为第一次 if k < 1150: new_result1 = reverse_list(new_response["result"]["data"])[k] new_result2 = reverse_list(new_response["result"]["data"])[k + 1] new_result3 = reverse_list(new_response["result"]["data"])[k + 2] data1 = new_result1[preDrawCode].split(,) data2 = new_result2[preDrawCode].split(,) data3 = new_result3[preDrawCode].split(,) for m in range(10): if m == 0: if data2[0] == data1[1]: N += 1 if (data2[0] in low_list and data3[0] in high_list) or (data2[0] in high_list and data3[0] in low_list): n += 1 # 如果命中了的话,本轮结束,开启下一轮 list_data_number.append(record_number) if f"{record_number}" in dict_time_record.keys(): dict_time_record[f"{record_number}"].append(new_result3[preDrawTime][11:]) else: dict_time_record[f"{record_number}"] = [new_result3[preDrawTime][11:]] # print(record_number) record_number = 1 # 初始化 else: record_number += 1 # 没中,次数加一 # 自加一 break elif m == 9: if data2[9] == data1[8]: N += 1 if (data2[9] in low_list and data3[9] in high_list) or (data2[9] in high_list and data3[9] in low_list): n += 1 list_data_number.append(record_number) if f"{record_number}" in dict_time_record.keys(): dict_time_record[f"{record_number}"].append(new_result3[preDrawTime][11:]) else: dict_time_record[f"{record_number}"] = [new_result3[preDrawTime][11:]] # print(record_number) record_number = 1 else: record_number += 1 break else: if data2[m] == data1[m + 1] or data2[m] == data1[m - 1]: N += 1 if (data2[m] in low_list and data3[m] in high_list) or (data2[m] in high_list and data3[m] in low_list): n += 1 list_data_number.append(record_number) if f"{record_number}" in dict_time_record.keys(): dict_time_record[f"{record_number}"].append(new_result3[preDrawTime][11:]) else: dict_time_record[f"{record_number}"] = [new_result3[preDrawTime][11:]] # print(record_number) record_number = 1 else: record_number += 1 break print(f"日期:{new_response[result][data][0][preDrawTime][:10]},总的梯子数为{N}个,一共有{n}次命中,一共有{N - n}次挂了") sh.write(sheet_seek_position, 1, N) sh.write(sheet_seek_position, 2, n) sh.write(sheet_seek_position, 3, N - n) # new_list_data_number = list_data_number.sort() list_data_number.sort() # 进行排序 dict_record = {} # 设置空字典 for i in list_data_number: if f"{i}" in dict_record.keys(): # 判断是否已经有了这个数字? dict_record[f"{i}"] += 1 # 如果有的话,那么就会自加一 else: # 如果没有的话,那么就会创建并且赋值等于 1 dict_record[f"{i}"] = 1 # 创建一个新的字典元素,然后进行赋值为 1 # print(dict_record) # print(f"买彩票第几次才中奖?") # print(f"按照我们的规律买彩票的情况:") for j in dict_record.keys(): if (int(j) >= 6) and (int(j) < 15): print(f"买{j}次才中奖的次数为{dict_record[j]}") print(dict_time_record[j]) str0 = "" for letter in dict_time_record[j]: str0 += letter str0 += ", " print(str0) sh.write(sheet_seek_position, 4 + (int(j) - 6) * 2, dict_record[j]) # 写入几次 sh.write(sheet_seek_position, 4 + (int(j) - 6) * 2 + 1, str0[:-2]) # 注意这里应该要改为 -2 # 写入几次对应的时间 # print(j) sheet_seek_position += 1 # 每次写完了以后,要对位置进行换行,换到下一行,从而方便下一行的写入 # 保存 wb.save(极速飞艇彩票分析结果.xls)运行结果展示:



展示1、




每个人应该都幻想过彩票中奖吧我用Python来实现




展示2、




每个人应该都幻想过彩票中奖吧我用Python来实现




从而,我们便解决了极速飞艇的彩票的数据分析
然后,我们只需要稍稍改变一点点算法,其他的部分是完全一样的啦,从而即就是可以实现极速赛车的数据分析了啦。
修改的代码在下面列出来了:
for m in range(10): if m == 0: if data2[0] == data1[1]: N += 1 if (data2[0] in low_list and data3[0] in low_list) or (data2[0] in high_list and data3[0] in high_list): n += 1 # 如果命中了的话,本轮结束,开启下一轮 list_data_number.append(record_number) if f"{record_number}" in dict_time_record.keys(): dict_time_record[f"{record_number}"].append(new_result3[preDrawTime][11:]) else: dict_time_record[f"{record_number}"] = [new_result3[preDrawTime][11:]] # print(record_number) record_number = 1 # 初始化 else: record_number += 1 # 没中,次数加一 # 自加一 break elif m == 9: if data2[9] == data1[8]: N += 1 if (data2[9] in low_list and data3[9] in low_list) or (data2[9] in high_list and data3[9] in high_list): n += 1 list_data_number.append(record_number) if f"{record_number}" in dict_time_record.keys(): dict_time_record[f"{record_number}"].append(new_result3[preDrawTime][11:]) else: dict_time_record[f"{record_number}"] = [new_result3[preDrawTime][11:]] # print(record_number) record_number = 1 else: record_number += 1 break else: if data2[m] == data1[m + 1] or data2[m] == data1[m - 1]: N += 1 if (data2[m] in low_list and data3[m] in low_list) or (data2[m] in high_list and data3[m] in high_list): n += 1 list_data_number.append(record_number) if f"{record_number}" in dict_time_record.keys(): dict_time_record[f"{record_number}"].append(new_result3[preDrawTime][11:]) else: dict_time_record[f"{record_number}"] = [new_result3[preDrawTime][11:]] # print(record_number) record_number = 1 else: record_number += 1 break总结

这个需求不得不说确实是比较简单的,但是,我在完成这个任务的过程中的确是学到了以前一些我并不太注意的东西。同时呢,也熟练的掌握了一些编程的技巧,虽然说这种比较简单的活儿报酬不会太高,但是,我认为在这个过程中我确实学到了不少东西,同时也成长了不少,因此,无论怎么说,其实也都还是挺不错的啦。
如何获取源码:

①3000多本Python电子书有
②Python开发环境安装教程有
③Python400集自学视频有
④软件开发常用词汇有
⑤Python学习路线图有
⑥项目源码案例分享有
如果你用得到的话可以直接拿走,在我的QQ技术交流群里群号:754370353(纯技术交流和资源共享,广告勿入)以自助拿走
点击这里 领取


谢谢大家阅读!如果有帮助可以点点关注哦!网上博彩网站

  • 原文标题:每个人应该都幻想过彩票中奖吧我用Python来实现
  • xpj

    9you娱乐城

    特别推荐

    
  • 谷歌搜索留痕推广
  • 谷歌搜索留痕排名技术
  • 谷歌快速排名
  • 留痕方法
  • 谷歌搜索快速方法
  • google搜索留痕程序
  • 谷歌快速排名
  • 澳门太阳城
  • 最大博彩公司
  • 谷歌搜索关键词排名
  • 搜索留痕程序
  • 谷歌排名出售
  • 谷歌蜘蛛池排名
  • 搜索留痕软件
  • 缅甸果敢赌场
  • 电子游艺规则
  • 谷歌留痕推广
  • google引流程序
  • 谷歌快速排名
  • google引流程序
  • 留痕推广
  • 大西洋城赌场
  • 买球地址
  • 搜索留痕
  • 搜索留痕程序出售
  • 谷歌蜘蛛池排名技术
  • 留痕程序
  • 如何提高google搜索排名
  • 数字币博彩
  • 洗钱方法
  • Google留痕收录
  • 最新谷歌搜索留痕排名
  • 搜索留痕
  • Google留痕收录
  • google搜索留痕
  • 数字币博彩网站
  • 足球投注平台
  • 博彩推广话术
  • 推广引流方法
  • 引流方法
  • 博彩推广话术
  • 网上博彩推广引流
  • 数字币赌场
  • 皇冠现金网
  • 蜘蛛池排名
  • 谷歌蜘蛛池
  • 留痕程序出售
  • google搜索留痕程序
  • 比特币网上赌场
  • 洗钱平台
  • 搜索留痕
  • 博彩推广方式
  • 网上博彩推广
  • 快速排名
  • 搜索留痕程序
  • bbin平台大全
  • 体育博彩公司排名
  • 留痕排名技术
  • 最新谷歌关键词排名
  • 推广渠道
  • 谷歌快速排名
  • 博彩推广
  • 世界杯赌球地址
  • 皇冠博彩公司
  • 谷歌排名出售
  • 博彩引流渠道
  • 搜索留痕程序
  • google搜索留痕
  • 引流渠道
  • 果敢网上赌场
  • 世界杯赌球
  • 搜索留痕方法
  • 博彩搜索留痕
  • 博彩引流
  • 博彩引流
  • 搜索留痕
  • 缅甸网上赌场
  • 欧洲杯赌球
  • 谷歌搜索排名
  • 留痕程序
  • 网上博彩推广引流
  • 留痕技术
  • 搜索留痕技术出售
  • 澳门威尼斯人网上赌场
  • 外围博彩
  • 博彩网站推广
  • 推广引流
  • 留痕程序出售
  • 谷歌推广引流技术
  • 推广引流方法
  • 美国在线赌场
  • 沙巴体育投注平台
  • 最新谷歌搜索留痕
  • 谷歌蜘蛛池排名技术
  • 网站推广方法
  • 留痕程序出售
  • 博彩推广方法
  • 菠菜论坛
  • 买球平台
  • 谷歌搜索留痕
  • 蜘蛛池排名
  • 博彩公司推广渠道
  • 谷歌搜索留痕
  • 博彩公司推广渠道
  • 真钱游戏
  • 网上赌球地址
  • 赌球平台推荐
  • 赌球网址
  • 博彩包网
  • 买球app
  • 澳门博彩公司
  • 威尼斯人赌场
  • 博彩平台推荐
  • 美国博彩网站
  • 缅甸实体赌场
  • 柬埔寨网上赌场
  • 柬埔寨在线赌场
  • 韩国博彩
  • 支持人民币的博彩公司
  • 世界五大比特币交易所
  • 欧易是哪个国家的
  • 中币跑路
  • 亚洲博彩公司
  • 合法网上赌场
  • 马尼拉赌场
  • 支持人民币的博彩公司
  • 大陆博彩平台
  • 澳门新葡京娱乐城
  • 老挝赌场
  • 世界赌场排名
  • 网上博彩公司排行
  • 菠菜论坛
  • 东南亚赌博网站
  • 虚拟币博彩
  • 澳门百家乐网址
  • 网上博彩导航
  • 区块链百家乐游戏
  • 马来西亚博彩公司
  • 越南赌场
  • 区块链百家乐
  • 香港娱乐场
  • 澳大利亚赌博网站
  • 足球赔率
  • 菲律宾网上赌场
  • 数字币博彩网站
  • 足球投注网站
  • 百家乐论坛
  • 皇冠体育博彩公司
  • 网上赌博网站
  • 网上博彩推广话术
  • 谷歌搜索快速方法
  • 网上博彩推广话术
  • 数字币赌场
  • 皇冠博彩公司
  • 世界杯博彩公司
  • 英国博彩公司
  • 网上博彩合法化
  • 新加坡赌场
  • 比特币网上赌场
  • 怎么洗钱
  • 加密货币博彩平台
  • 世界杯赌球网址
  • 网上赌球地址
  • 博彩推广方式
  • 印度尼西亚博彩公司
  • 国际包网
  • bbin平台直营
  • 亚洲体育博彩平台
  • 越南博彩公司
  • 百家乐路单
  • 澳门博彩官网
  • 博彩网推荐
  • 澳门太阳城网址
  • 百家乐网址
  • 世界杯赌球网址
  • 皇冠博彩网址
  • 洗钱方法
  • 买球网站
  • 欧洲杯赌球平台
  • 皇冠现金网
  • 外围赌球平台
  • 果敢赌场
  • 买球技巧
  • 全球最大博彩公司
  • 电子游艺
  • 真人电子游戏
  • 骰宝游戏规则
  • 亚洲体育博彩平台
  • 澳门在线赌场
  • 缅甸赌场地址
  • 赌球平台
  • 赌场如何赢钱
  • 世界杯买球网站
  • 真人牌九游戏
  • 世界杯买球官网
  • 时时彩平台
  • 六合彩预测
  • 威尼斯人网上赌场
  • 外围赌球网站
  • 赌博网址
  • 彩票群
  • 微信赌博群
  • 韩国首尔赌场
  • 赌钱游戏
  • 美国网上赌场
  • bbin官网
  • 沙巴体育官网
  • 博彩平台推荐
  • 数字币博彩网站
  • 比特币网上赌场
  • 世界赌场名单
  • 美国赌场攻略
  • 菠菜论坛排名
  • 菠菜论坛排名
  • 缅甸网上赌场
  • 支持人民币的博彩公司