点击“蓝字” 关注我们



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


在上一讲中,我们成功解析了官网数据,将其整理成了清晰的字典格式。
本节课我们将完善print_history_datas()函数,将整理后的字典数据格式化,变成“第XXX期:XX XX XX XX XX XX XX”的直观格式,再将该函数绑定到“下载数据”按钮,实现“点击按钮-爬取数据-显示数据”的完整交互。
点击“下载数据”按钮后,文本框中按格式清晰显示双色球历史数据。


1. 编写格式化函数:
定义print_history_datas()函数,先调用get_history_datas()函数获取整理后的字典数据,再清空文本框,避免数据重复显示。
2. 格式化数据格式:
遍历字典,将“红球+蓝球”的字符串用split()方法拆分,再用join()方法拼接成空格分隔的格式,整理成“第XXX期:XX XX XX XX XX XX XX”的样式。
3. 显示数据到文本框:
用文本框的insert()方法,将格式化后的每一期数据,插入到文本框中,实现数据显示功能。
4. 绑定按钮与函数:
将print_history_datas()函数绑定到“下载数据”按钮,测试交互效果,确保点击按钮后,文本框能正常显示数据。



项目完整代码,请参照文末方式获取。
# 双色球分析工具 - 第10讲核心代码# 功能:格式化数据,绑定到下载按钮,点击显示数据到文本框import requests, json, tkinter as tk# 延续前面代码,创建主窗口、输入框、文本框、按钮(省略重复代码)root = tk.Tk()root.title('双色球分析工具')root.geometry('600x560')entry_widget = tk.Entry(root)text_widget = tk.Text(root)text_widget.grid(row=2, column=0, sticky="W", padx=5, pady=18)# 1. 爬取并解析数据的函数(上一讲代码,省略重复部分)def get_history_datas():pz = entry_widget.get() if entry_widget.get() else '100'url = f'http://www.cwl.gov.cn/cwl_admin/front/cwlkj/search/kjxx/findDrawNotice?name=ssq&pageNo=1&pageSize={pz}&systemType=PC'headers = {'Host': 'www.cwl.gov.cn', 'Referer': 'http://www.cwl.gov.cn/c/2023/01/17/527544.shtml', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; root64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36'}result = json.loads(requests.get(url=url, headers=headers).text).get('result')data_dict = {res['code']: res['red'] + "," + res['blue'] for res in result}return data_dict# 2. 清空文本框函数(第7讲代码,省略重复部分)def clear_text_widget(): text_widget.delete("1.0", "end")# 3. 格式化数据并显示到文本框的函数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(","))# 拼接成“第XXX期:XX XX XX XX XX XX XX”格式str_result += "第" + key + "期:" + ball + "\n"# 将格式化后的数据显示到文本框text_widget.insert('insert', str_result)# 4. 绑定函数到“下载数据”按钮(修改第6讲的按钮代码)xz_button = tk.Button(root, text='下载数据', width=8, cursor='heart', command=print_history_datas)xz_button.grid(row=1, column=0, sticky="W", padx=5, pady=5)root.mainloop()
(1)改进点
1. 优化数据显示格式,给每一期数据添加分隔线,让不同期的数据区分更明显;
2. 给文本框设置默认字体和字号,让显示的数据更清晰、更美观,提升阅读体验。
(2)提示词示例
“我正在做双色球分析工具,已经实现了点击下载按钮显示数据到文本框的功能。
麻烦帮我优化代码,给每一期数据之间添加分隔线,给文本框设置楷体、14号字体,让数据显示更清晰、更美观,给出可直接替换的代码,注释简单易懂。”
(3)小红花
恭喜你!成功实现了“点击按钮-显示数据”的完整交互,让你的程序真正具备了实用功能,点击“下载数据”就能看到清晰的双色球历史数据啦!
这是你从“数据解析”到“交互实现”的重要跨越。
AI可以帮你优化数据显示格式、美化文本框,让你的程序更贴心、更易读。
大胆向AI提出你的想法,主动设计你想要的显示效果,让AI成为你完善程序的好帮手,每一次优化,都是你成长的见证!
本节课我们重点学习了字符串的split()和join()方法、文本框的insert()方法,掌握了函数与按钮的绑定逻辑,成功实现了“点击下载数据-显示数据到文本框”的完整交互功能。
从技术层面,我们学会了数据格式化的核心技巧,理解了“函数调用-数据处理-界面显示”的完整流程;
从能力层面,我们锻炼了逻辑思维和代码组织能力,学会了将多个函数结合起来,实现复杂的交互功能,同时也培养了细节处理能力和审美意识。
从教育角度,这契合建构主义学习理论“做中学”的核心观点,让孩子在实际操作中理解“程序交互”的本质,将前面学到的爬虫、解析、GUI开发等知识融会贯通,强化了孩子的算法思维和问题解决能力,也让孩子深刻体会到“编程解决实际问题”的乐趣和价值,为后续美化数据、生成Excel表格打下基础。

数程思维派|专业创造未来
线下教学基地:南京市江宁区上元大街恒通大厦(江宁万达旁,地铁5号线直达)
若需了解课程详情,可通过微信扫描二维码添加秦老师,添加成功后即可立即享受价值超千元的课程专属优惠。
👇

夜雨聆风