当前位置:首页>python>AI 驾驭者|Python 双色球工具实战(14):数据统计入门,分析红蓝球出现次数

AI 驾驭者|Python 双色球工具实战(14):数据统计入门,分析红蓝球出现次数

  • 2026-09-03 09:34:17
AI 驾驭者|Python 双色球工具实战(14):数据统计入门,分析红蓝球出现次数
点击“蓝字”  关注我们
您好,恭喜您在AI时代关注了数程思维派,我是秦老师。

我们聚焦学以致用与创新,“AI驾驭者”帮助孩子构建驾驭AI而非被替代的能力。

🖼️项目蓝图
本次Python实战项目是一款双色球历史数据爬取与分析工具,最终能实现从福彩官网爬取指定期数(默认100期)的真实开奖数据,完成数据查看、Excel保存、数据统计分析三大核心功能,还配有可视化图形界面。

我们全程有AI助手陪伴,既能做出可直接操作的桌面程序,还能系统学到爬虫、GUI(图形界面)开发、数据处理等技能,锻炼逻辑思维和问题解决能力。

🫐创客工坊
(1)任务导览

在前几讲中,我们已经实现了数据的爬取、显示和保存功能,能轻松获取和管理双色球历史数据。

本节课我们将开启数据统计分析学习,编写analysis_datas()函数的核心部分,统计指定期数内每个红球、蓝球的出现次数,并用降序排列显示。

运行函数后,文本框中按降序显示每个红球、蓝球的出现次数,格式整齐。

(2)分步指南

1.  明确统计需求:

明确我们需要统计指定期数内,33个红球和16个蓝球各自出现的次数,并按出现次数从高到低(降序)排列,方便查看热门号码。

2.  编写统计核心函数:

定义analysis_datas()函数,先清空文本框,获取数据字典,再创建两个空列表,分别存储所有红球和蓝球数据。

3.  统计出现次数:

遍历数据字典,将所有红球、蓝球数据存入对应列表,用count()方法统计每个号码的出现次数,存入字典。

4.  排序并显示结果:

用sorted()函数和lambda匿名函数,对统计结果按出现次数降序排列,格式化后显示到文本框,测试效果并截图保存。

(3)核心代码展示

项目完整代码,请参照文末方式获取。

# 双色球分析工具 - 第14讲核心代码# 功能:统计红蓝球出现次数,按降序排列并显示import tkinter as tk# 延续前面代码,get_history_datas、clear_text_widget等函数已创建(省略重复代码)# 数据统计分析函数def analysis_datas():    clear_text_widget()  # 清空文本框    data_dict = get_history_datas()  # 获取数据字典    red_list = []  # 存储所有红球数据    blue_list = [] # 存储所有蓝球数据    # 1. 遍历数据,收集所有红球和蓝球    for key, value in data_dict.items():        red_ball = value.split(",")[0:-1]  # 拆分红球        red_list.extend(red_ball)          # 加入红球列表        blue_ball = value.split(",")[-1]   # 拆分蓝球        blue_list.append(blue_ball)        # 加入蓝球列表    # 2. 统计每个号码的出现次数    red_dict = {}    blue_dict = {}    # 统计红球(1-33)    for i in range(1, 34):        i = str(i).zfill(2)  # 补零为两位数,与数据格式一致        red_dict[i] = red_list.count(i)    # 统计蓝球(1-16)    for i in range(1, 17):        i = str(i).zfill(2)        blue_dict[i] = blue_list.count(i)    # 3. 按出现次数降序排列(lambda匿名函数用于指定排序依据)    red_dict = sorted(red_dict.items(), key=lambda x: x[1], reverse=True)    blue_dict = sorted(blue_dict.items(), key=lambda x: x[1], reverse=True)    # 4. 格式化结果并显示到文本框    pz = entry_widget.get() if entry_widget.get() else '100'    red_result = f'近{pz}期红色球解析结果(倒序):\n'    blue_result = f'近{pz}期蓝色球解析结果(倒序):\n'    # 拼接红球统计结果    for k, v in red_dict:        red_result += k + " 出现次数:" + str(v) + "\n"    # 拼接蓝球统计结果    for k, v in blue_dict:        blue_result += k + " 出现次数:" + str(v) + "\n"    # 显示到文本框    text_widget.insert('insert', red_result + blue_result)# 绑定函数到“解析数据”按钮(修改第6讲按钮代码)jx_button = tk.Button(root, text="解析数据", cursor='heart', command=analysis_datas)jx_button.grid(row=1, column=0, sticky="W", padx=186, pady=5)
🥠AI协创空间

(1)改进点

1.  优化统计结果的显示格式,给出现次数最多的3个号码标注“热门号码”,让结果更直观;

2.  处理统计结果中出现次数为0的号码,隐藏这些号码,简化显示内容,提升可读性。

(2)提示词示例

“我正在用Python统计双色球红蓝球出现次数,已经能按降序显示结果,但结果有点繁琐,看不到热门号码。

麻烦帮我优化代码,给出现次数最多的3个红球和3个蓝球标注‘热门号码’,隐藏出现次数为0的号码,给出可直接替换的代码,注释简单易懂。”

(3)小红花

你成功用Python实现了红蓝球出现次数的统计与排序,开启了数据统计分析的大门,这是编程能力的重要提升!

统计分析能帮我们从数据中找到规律,而AI可以帮你优化结果显示,让规律更明显。

大胆向AI提出你的需求,主动思考如何让统计结果更实用、更易读,让AI成为你数据分析的好帮手,你会慢慢发现,编程能帮我们解决更多复杂的数据问题。

🍫成长加油站

本节课我们重点学习了列表的extend()、append()、count()方法,掌握了sorted()函数和lambda匿名函数的用法,成功实现了红蓝球出现次数的统计与降序排列。

从技术层面,我们理解了数据统计的基本逻辑,学会了用字典和列表存储、处理统计数据;

从能力层面,我们锻炼了逻辑思维和数据分析能力,学会了从大量数据中提取有用信息,培养了数据思维。

从教育角度,这契合信息时代数据素养的核心培养目标,统计分析的过程,也强化了孩子的归纳思维和逻辑推理能力,让孩子明白,编程不仅能处理数据,还能通过分析数据发现规律,这也是算法思维中“数据驱动、理性分析”的具体体现,为后续优化统计效果、完成项目收官打下基础。

项目完整代码获取提示
关注公众号,发送关键词“双色球”,免费获取本项目完整代码。
快来见证孩子在编程与AI掌控能力上的飞速成长吧!

数程思维派|专业创造未来

🧑‍🏫 顶配师资
秦老师,211高校计算机专业全日制硕士研究生学历,学信网可查。
蓝桥STEM优秀指导教师(证书编号:STEMA160529),拥有多年青少年科技教育一线教学经验,学生曾多次在各类权威科技竞赛中斩获优异成绩。
覆盖Scratch/Python/C++编程学习全阶段,接轨CCF/CIE考级竞赛,从基础入门到赛事冲刺,为孩子提供持续、系统的专业指导。
🏫线上线下教学结合
南京地区提供线下教学,师生面对面,家长更放心。
🗺️因材施教
数程小达人、AI驾驭者、赛考科学家,拒绝千篇一律的统一课程,对孩子因材施教,让孩子学有所得。
📲 立即预约试听

欢迎留言了解课程详情。

最新文章

随机文章