开学第一周,AI+Python搞定了「智能课程表生成器」——新手从0到1的AI编程实战手记
摘要: 一名编程新手仅用7天时间,借助AI工具(Copilot、ChatGPT)从零开发出课表管理工具,实现Excel课表自动整理、周视图生成和上课提醒功能。关键步骤包括:1)用AI拆解需求为可执行模块;2)通过Copilot生成代码并调试报错;3)逐步实现核心功能(如用pandas处理混乱的Excel时间格式);4)采用系统通知替代复杂方案。最终工具被全班同学采用,证明AI能有效降低编程门槛,帮
引言:一个编程小白的「自救」故事
9月6日晚上10点,我盯着手机里从教务系统导出的Excel课表(密密麻麻的单元格像蚂蚁窝),再翻了翻班级群99+的消息——
「谁有课表PDF版?」
「早八和晚课总记混,求自动提醒!」
「谁能做个能同步到手机的课表?」
作为刚入学两周的编程小白(只学过3节Python课,连循环语句都写不利索),我本来打算装看不见。但鬼使神差地,我打开了活动文档里的一句话:「AI不是大神专属,是新手的『解题加速器』」。
那晚,我对着空气说了一句:「要不,我用AI+Python试试?」
7天后,我把工具链接发到群里,配文:「亲测能用!需要的同学自取~」
半小时后,23条消息炸出来:「链接失效了吗?」「能导出PDF吗?」「求代码!」
这篇文章,我想把这段「用AI从0到1做项目」的经历,原原本本分享给你——没有高大上的技术,只有新手最真实的踩坑、AI的神助攻,和「原来我也能」的惊喜。
一、需求拆解:用AI把「模糊想法」变成「可执行步骤」
1. 我的原始需求:解决什么问题?
我列了一张「痛点清单」:
-
•
手动整理课表:从教务系统导出的Excel格式混乱(合并单元格、时间列不统一),每次都要手动调整;
-
•
多平台同步难:手机、电脑、平板的课表要反复复制粘贴;
-
•
缺乏提醒功能:总记混早八和选修课,迟到过3次;
-
•
想分享给同学:但Excel太丑,没人愿意用。
2. 用AI「翻译」需求:新手如何避免「想太复杂」?
作为新手,我最怕的就是「目标太大」(比如一上来就想做小程序),结果卡在第一步。这时候,我用了活动推荐的Copilot Chat(VS Code插件),输入了一段「新手式提问」:
“我是编程0基础(只会print(‘hello’)),想做一个帮大学生整理课程表的小工具。核心需求是:① 自动读取Excel课表;② 生成周视图/日视图;③ 手机能收到上课提醒。应该分几步做?哪些功能可以先不做?”
AI的回复让我眼前一亮(划重点!):
步骤 | 目标 | 新手友好建议 |
---|---|---|
1 | 数据输入 | 先支持本地Excel(用pandas库读取,比爬虫简单100倍) |
2 | 核心功能 | 先做「周视图」(表格形式),日视图后期加 |
3 | 提醒功能 | 用系统通知(Windows用win10toast,Mac用osascript),比微信机器人简单 |
4 | 避坑 | 别碰「用户登录」「云端存储」(涉及数据库,新手暂时不需要) |
我的总结:AI不是直接给答案,而是帮你「把大问题拆成小积木」。新手一定要学会用「我是XX(身份),想做XX(目标),不会XX(技术),该怎么办?」的句式提问,AI会更懂你!
二、工具准备:新手友好的「AI+编程」组合拳
1. 基础工具(必装)
-
•Python 3.9(官网下载,装的时候勾选「Add Python to PATH」);
-
•VS Code(轻量编辑器,装GitHub Copilot插件);
-
•pandas库(处理Excel数据,命令行输入
pip install pandas
); -
•openpyxl库(配合pandas读写Excel,
pip install openpyxl
)。
2. AI辅助工具(关键!)
-
GitHub Copilot:写代码时自动补全,新手秒变「代码搬运工」;
-
ChatGPT:查文档、问报错(比如「pandas读取Excel报错KeyError怎么办?」);
-
百度/谷歌:搜具体问题(比如「Windows系统通知代码」)。
三、开发实战:从「写不出第一行代码」到「跑通第一个功能」
1. 第一步:用AI生成「Excel读取代码」
我对着VS Code新建文件,对着空白的.py文件说:「帮我写一段Python代码,读取桌面的course.xlsx文件,提取课程名称、时间、教室。」
Copilot秒生成了一段代码:
python
import pandas as pd
# 读取Excel文件(注意替换成你的文件路径)
df = pd.read_excel(r'C:\Users\你的名字\Desktop\course.xlsx')
# 提取需要的列(假设Excel列名是「课程名称」「时间」「教室」)
course_info = df[['课程名称', '时间', '教室']]
# 打印结果(测试用)
print(course_info)
踩坑1:运行时报错FileNotFoundError
。
我复制错误信息问ChatGPT:「pandas读取Excel提示FileNotFound怎么办?」
AI回复:「检查文件路径是否正确,建议用绝对路径(比如C:\Users\XXX\Desktop\course.xlsx),注意反斜杠要转义(用\或/)。」
我改了路径(换成自己的桌面路径),运行成功!屏幕弹出一行课程信息,我激动得拍了下桌子——这是我用AI写的第一个能跑的代码!
2. 第二步:用AI优化「周视图生成」
接下来,我想把课程信息整理成周视图(周一到周日,每天按时间排序)。
我在Copilot输入注释:「写一个函数,把course_info按周视图排列,输出表格。」
AI生成了更复杂的代码(我加了注释方便理解):
python
def generate_week_view(course_df):
# 创建空的周视图表格(行:时间,列:周一到周日)
time_slots = ['8:00-9:40', '10:00-11:40', '14:00-15:40', '16:00-17:40'] # 假设的课程时间段
week_view = pd.DataFrame(index=time_slots, columns=['周一', '周二', '周三', '周四', '周五', '周六', '周日'])
# 遍历课程数据,填充到对应位置
for _, row in course_df.iterrows():
course_name = row['课程名称']
time = row['时间'] # 假设Excel中「时间」列格式是「周一 8:00-9:40」
day = time.split()[0] # 提取星期几(如「周一」)
slot = time.split()[1] # 提取时间段(如「8:00-9:40」)
if slot in time_slots:
week_view.loc[slot, day] = course_name
return week_view
# 测试:生成周视图并打印
week_view = generate_week_view(course_info)
print(week_view)
踩坑2:Excel里的「时间」列格式混乱(有的是「周一 1-2节」,有的是「周二 3-4节」)。
我问AI:「如何统一处理不同的时间格式?」
AI建议:「先用pandas的str.replace()替换掉『节』,再用字典映射时间段。比如:」
python
# 替换「节」为「-」,统一格式(如「周一 1-2节」→「周一 1-2」)
course_info['时间'] = course_info['时间'].str.replace('节', '')
# 定义时间段映射(根据学校实际课程调整)
time_mapping = {
'1-2': '8:00-9:40',
'3-4': '10:00-11:40',
'5-6': '14:00-15:40',
'7-8': '16:00-17:40'
}
course_info['时间段'] = course_info['时间'].str.split().str[1].map(time_mapping)
改完后,周视图终于整齐了!我截了张图(见下图),发给室友看,她惊呼:「这也太好看了吧!比我手写的清楚多了!」

3. 第三步:用AI实现「手机提醒」
最让我骄傲的是「手机提醒」功能——每天早上7点,手机弹出通知:「今天8:00有高数课,在301教室!」
我本来想调用微信机器人,但查文档发现需要服务器,太复杂。这时候,我想起AI说的「新手用系统自带通知」,于是用ChatGPT问:「Windows系统如何用Python发送桌面通知?」
AI回复了一段代码(用了win10toast库):
python
from win10toast import ToastNotifier
import datetime
def send_reminder(course_name, time, location):
toaster = ToastNotifier()
message = f"课程提醒:{course_name}
时间:{time}
地点:{location}"
toaster.show_toast("课程提醒", message, duration=10) # 显示10秒
# 测试:模拟明天早八提醒
send_reminder("高等数学", "8:00-9:40", "301教室")
踩坑3:安装win10toast库时报错ModuleNotFoundError: No module named 'win10toast'
。
我问AI:「pip install win10toast失败怎么办?」
AI说:「可能是Python环境问题,试试在命令行用pip3 install win10toast
,或者检查是否用了正确的Python版本(比如同时装了Python2和3)。」
我重新用pip3安装,成功了!第二天早上7点,我的手机(其实是电脑桌面通知,手机可以用类似方法调用系统API)弹出了提醒,我激动得从床上蹦起来——这是「AI+编程」给我的第一个「正向反馈」!
四、成果与反馈:我的工具被全班「抄作业」了
1. 最终效果
我把所有功能整合成一个脚本(附完整代码),还加了两个「新手友好」的设计:
-
自动生成PDF:用fpdf2库把周视图导出为PDF(代码简单,AI生成的);
-
可视化界面:用Tkinter做了个简单的窗口(虽然丑,但能点选功能)。
工具界面截图(见下图):
2. 同学反馈
发到班级群后,我收到了23条消息:
-
「链接能发一下吗?我电脑也装Python了!」
-
「能教我怎么改时间吗?我的课表时间段不一样~」
-
「室友说她想用,能不能发个教程?」
最让我感动的是室友小A发的消息:「我本来觉得编程离我很远,但你用AI做出来的东西这么实用,我决定跟你一起学Python了!」
五、新手经验总结:这7天我悟到的「AI+编程」真相
1. 新手别怕「用AI」——它是你的「外挂大脑」
我以前总觉得「用AI写代码」是作弊,但这次发现:AI不是替代你,而是帮你跳过「查文档、踩低级错误」的时间。比如我写代码时,AI帮我生成框架,我只需要改几个参数就能跑通——这比自己瞎琢磨2小时高效10倍!
2. 输出比完美更重要——先完成,再优化
我一开始纠结「界面要好看」「功能要全面」,结果卡了3天。后来AI提醒我:「新手先做能用的,再做好用的。」于是我先实现了核心功能(读取Excel、生成周视图、提醒),再慢慢加PDF导出、界面优化——果然,完成比完美更有成就感!
3. 分享能带来「超能力」——你的经验能照亮别人
我从来没想过,自己写的一个小工具能被全班需要。但当我看到同学用它整理课表、不再迟到时,我突然明白:技术最有魅力的地方,是「互相托举」。你现在分享的经验,可能就是别人「入门的第一把钥匙」。
结语:九月的风里,你的故事才刚刚开始
写完这篇文章时,我摸了摸电脑键盘——它还是那台二手笔记本,但我知道,有些东西不一样了:我不再是那个对着Excel发呆的新手,而是能用AI+编程解决问题的「创作者」。
如果你也想试试,不妨从今天开始:
-
找一个你生活中的小痛点(比如整理笔记、统计消费);
-
用AI拆解需求(直接问Copilot或ChatGPT);
-
边做边学,遇到问题就查资料、问AI。
记住:你不需要「精通」才能开始,开始才能「精通」。
最后,附上我的工具完整代码(GitHub链接),需要的同学自取~ 也欢迎在评论区留言:「你最想用AI解决什么问题?我来帮你用代码实现!」
https://github.com/xfs99999/AI.git
更多推荐
所有评论(0)