乐于分享
好东西不私藏

AI 驾驭者|Python 双色球工具实战(11):优化数据显示,给红蓝球设专属颜色

AI 驾驭者|Python 双色球工具实战(11):优化数据显示,给红蓝球设专属颜色
点击“蓝字”  关注我们
家长您好,恭喜您在AI时代关注了数程思维派,我是秦老师。

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

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

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

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

在上一讲中,我们已经实现了点击“下载数据”按钮,将双色球历史数据按格式显示在文本框的功能。

本节课我们将借助AI的帮助,用tkinter的tag功能,给文本框中的期数、红球、蓝球设置不同颜色,优化显示效果,让数据更醒目、更易区分。

文本框中,期数、红球、蓝球分别显示不同颜色,格式整齐。

(2)分步指南

1.  认识tkinter的tag功能:

明确tag是tkinter中文本框的“颜色工具”,可以给指定范围的文本设置字体、颜色等样式,帮我们区分不同类型的数据。

2.  导入字体模块:

补充导入tkinter.font模块,用于设置文本框的字体样式,让数据显示更清晰。

3.  配置tag样式:

在print_history_datas()函数中,用tag_config()方法创建3个tag,分别设置期数、红球、蓝球的颜色,比如绿色期数、红色红球、蓝色蓝球。

4.  绑定tag到文本:

计算每一期数据中期数、红球、蓝球的位置,用tag_add()方法将对应tag绑定到指定文本范围,实现颜色区分。

5.  测试效果:

运行代码,点击“下载数据”,查看文本框中数据颜色是否正常显示。

(3)核心代码展示

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

# 双色球分析工具 - 第11讲核心代码# 功能:用tag功能给文本框数据设置不同颜色import tkinter as tkimport tkinter.font as tf  # 导入字体模块# 延续前面代码,文本框、print_history_datas函数等已创建(省略重复代码)def print_history_datas():    data_dict = get_history_datas()    clear_text_widget()    str_result = ""    for key, value in data_dict.items():        ball = " ".join(value.split(","))        str_result += "第" + key + "期:" + ball + "\n"    # 设置文本框字体    font1 = tf.Font(family='楷体', size=18)    text_widget.config(font=font1)    # 配置3个tag,分别设置不同颜色    text_widget.tag_config("tag1", foreground="green")  # 期数-绿色    text_widget.tag_config("tag2", foreground="red")    # 红球-红色    text_widget.tag_config("tag3", foreground="blue")   # 蓝球-蓝色    # 将数据插入文本框    text_widget.insert('insert', str_result)    # 给每一期数据绑定对应tag,设置颜色    for i in range(1, str_result.count("第") + 1):        # 绑定期数颜色(第X期:的期数部分)        text_widget.tag_add("tag1""{}.1".format(i), "{}.8".format(i))        # 绑定红球颜色(期数后到蓝球前)        text_widget.tag_add("tag2""{}.10".format(i), "{}.28".format(i))        # 绑定蓝球颜色(最后两个字符)        text_widget.tag_add("tag3""{}.28".format(i), "{}.30".format(i))
🥠AI协创空间

(1)改进点

1.  优化颜色搭配,选择更柔和、更适合长时间阅读的颜色,避免颜色过于刺眼;

2.  调整tag绑定的文本范围,适配不同期数(如期数位数变化),避免颜色错位,提升兼容性。

(2)提示词示例

“我正在用tkinter给双色球分析工具的文本框数据设置颜色,目前用了绿色期数、红色红球、蓝色蓝球,感觉颜色有点刺眼。

麻烦帮我优化代码,选择柔和的颜色搭配,给出可直接替换的代码,注释简单易懂。”

(3)小红花

你成功给文本框的数据“穿上了彩色衣服”,让杂乱的数据变得一目了然,这是提升程序美观度和易用性的重要一步!

AI可以帮你解决颜色搭配和兼容性的小问题,让你的程序更完美。

大胆向AI描述你的需求,比如“我想要更柔和的颜色”,主动下达指令,你会发现,借助AI的力量,我们能轻松解决编程中的细节难题,让AI成为你美化程序的好帮手。

🍫成长加油站

本节课我们重点学习了tkinter中文本框的tag_config()和tag_add()方法,掌握了文本样式设置的核心技巧,成功给不同类型的数据设置了区分颜色。

从技术层面,我们学会了字体模块的导入和使用,理解了tag功能的原理和应用场景;

从能力层面,我们锻炼了细节处理能力和审美意识,学会了通过样式优化提升程序的易用性。

从教育角度,这契合建构主义学习理论中“注重细节、逐步完善”的核心观点,颜色区分数据的过程,也培养了孩子的分类思维和逻辑思维,让孩子明白,编程不仅要实现功能,还要注重用户体验,这也是成为优秀小程序员的必备素养。

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

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

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

线下教学基地:南京市江宁区上元大街恒通大厦(江宁万达旁,地铁5号线直达) 

🗺️因材施教
数程小达人、AI驾驭者、赛考科学家,拒绝千篇一律的统一课程,对孩子因材施教,让孩子学有所得。
📲 立即预约试听

若需了解课程详情,可通过微信扫描二维码添加秦老师,添加成功后即可立即享受价值超千元的课程专属优惠

👇