零 Python 基础,跟着 AI 半小时搞出一个学生成绩管理系统
零 Python 基础,跟着 AI 半小时搞出一个学生成绩管理系统
一、几年前的我:七八个 AI 网站来回切
写代码卡住,开 ChatGPT,免费额度又没了。
换 Claude,得先折腾网络。想给文章配张图,打开 Midjourney,30 刀一个月的订阅费。偶尔还要去 Suno 搞点背景音乐、去可灵生成视频素材。
浏览器常驻七八个标签页,每个都要登录,大部分还要续费。
我折腾过不少方案。镜像站跑路了,共享账号被封了,自建代理维护太累。后来一个朋友推荐了 IMYAI,我当时想的是——“又一个聚合站,能好用才怪。”
但事实是,从 2023 年底用到现在,这个网站确实是我日常打开频率最高的 AI 工具。这篇文章就聊聊它到底能做什么,顺便带你用它从零写一个 Python 项目。
二、先看它接了什么模型
IMYAI 是 B站 UP 主图欧君(60万粉)和团队做的,2023 年 5 月上线。说它是个"模型超市"可能更贴切,把一批国内外模型放进了同一个网页。
当前可选的对话、推理和搜索模型
| 厂商/类别 | 官网当前可选模型 |
|---|---|
| IMYAI | IMYAI-Agent-全能模型、IMYAI-Ava-默认模型 |
| OpenAI | GPT-5.6-luna、GPT-5.6-terra、GPT-5.6-sol、GPT-5.5、GPT-5.4、GPT-oss-120b |
| Anthropic | Claude-Haiku-4.5、Claude-Sonnet-4.6、Claude-Opus-4.7、Claude-Opus-4.8、Claude-Opus-4.8-max、Claude-Sonnet-5、Claude-Sonnet-5-max、Claude-Fable-5、Claude-Fable-5-max、Claude-Opus-5、Claude-Opus-5-max |
| 阿里通义 | Qwen-3.6-flash、Qwen-3.6-plus、Qwen-3.7-plus、Qwen-3.7-max |
| 智谱 | GLM-4.5-air、GLM-5、GLM-5.1、GLM-5.2 |
| Hy3 | Hy3 |
| 月之暗面 | kimi-k2.5、kimi-k2.6、kimi-k2.7-code、kimi-k3 |
| 阶跃星辰 | Step-3.7-flash、Step-3.5-flash |
| DeepSeek | DeepSeek-V4-Flash、DeepSeek-V4-Pro、DeepSeek-V3.2、DeepSeek-V3.1、DeepSeek-OCR-2-识图 |
| 秘塔 | metaso-极速·搜索、metaso-极速·思考、metaso-长思考·R1 |
| MiniMax | Minimax-M3、MiniMax-M2.7、MiniMax-M2.5 |
| 字节豆包 | Doubao-Seed-2.0-mini、Doubao-Seed-2.0-lite、Doubao-Seed-2.0-pro、Doubao-Seed-2.0-code、Doubao-Seed-2.1-pro |
| Gemini-3.1-flash-lite、Gemini-3.1-pro、Gemini-3.5-flash、Gemini-3.5-flash-lite、Gemini-3.6-flash | |
| 美团 | 美团龙猫-LongCat-2.0 |
| xAI | Grok-4.1-fast、Grok-4.5、Grok-4.3、Grok-4.2 |
| 小米 | 小米-MiMo-V2.5-Pro、小米-MiMo-V2.5 |
| UniFuncs | S3-深度搜索、S3-Pro-深度搜索、U3-深度研究、U3-Pro-深度研究 |
其中,S3/S3 Pro 是深度搜索模型,U3/U3 Pro 是深度研究模型;秘塔的三个条目也属于搜索型模型。它们和普通聊天模型的用途、积分消耗都不一样,不能简单按"聊天模型"理解。
另外,官网还单独列了 5 个 GPT 推理档位:GPT-5.6-luna、GPT-5.6-terra、GPT-5.6-sol、GPT-5.5 和 GPT-5.4。它们在列表里属于独立的推理条目,所以我把它们也算进上面的当前可选清单。
其他创作入口
绘画、音乐和视频并不是全部以同一种模型列表形式展示,而是分别放在专业绘画、音乐创作和视频创作入口里。当前首页配置明确列出的创作方向包括:
- AI 绘画:
Midjourney、Nano Banana、即梦、可灵、GPT-image等。 - AI 音乐:
Suno AI音乐全功能。 - AI 视频:
可灵、海螺、Vidu、Runway、Veo 3、Seedance 2.0等。
官网还提供联网引擎切换,公告中列出了基础版、Pro 版、搜狗夸克、秘塔和 U 深研等通道;这类联网引擎属于搜索能力或插件,不应和 GPT、Claude 这类基础模型混为一谈。
模型列表会持续更新,本文清单按本次访问官网接口时的启用状态整理。用的时候在对话框里切模型就行,不用换网站、不用重新登录。
三、程序员用得上哪些功能?
3.1 写代码和 Debug
默认的免费模型能应付大部分日常问题。
让它写个爬虫:
“用 Python 写一个爬虫,抓取豆瓣电影 Top250 的电影名、评分和简介,保存为 CSV”
大概 10 秒,完整的 requests + BeautifulSoup 代码就出来了,有注释,异常处理也写好了。
Debug 更省事。把报错直接贴进去:
“TypeError: ‘NoneType’ object is not subscriptable,这是我的代码……”
它能定位到第几行、变量为什么是 None、怎么修。
看不懂的代码也能扔进去让它逐行解释,对新手特别友好。
同一个需求,你可以分别丢给 GPT-5、Claude 4.5 和 DeepSeek,看哪个答案更好。三个模型比对着用,比守着单一模型踏实。
3.2 Midjourney 绘画
IMYAI接的是 MJ 的完整能力。文生图、垫图、Vary 局部修改、Upscale 放大、Pan 平移扩展、Zoom 缩放——这些在官网上收费不低的功能,这里都可以用。
内置了提示词库,不会写 prompt 的话点几下就能上手。我博客的封面图、PPT 里的示意插画基本都是这里出的。
3.3 长文和论文
填个标题、专业、学历,AI 先出大纲,再按章节生成正文。几万字的稿子几十秒就能跑完,支持带真实链接的参考文献。
我这篇文章的初版大纲就是用这个功能先搭的骨架,然后自己填充和调整。比从零敲键盘快得多。
3.4 思维导图
输入主题,自动生成结构图。梳理项目模块、做技术方案、整理学习笔记都挺方便。比如输入"Python 学习路线",它会从基础语法拆到 Web 框架和数据分析,比自己画高效。
3.5 应用广场
内置一千多个垂直场景的 AI 应用,覆盖编程、办公、创作、学习几个方向。比如代码生成器、正则助手、周报生成器、小红书文案、英语口语教练。
你也可以自己配提示词、设角色、挂知识库,搭一个专属的 AI 助手。
四、能白嫖到什么程度?
免费策略是让我留下来的主要原因。
默认模型不限次数,随便用。每天签到送积分,积分不会过期,一直攒着。积分可以换高级模型——GPT-5、Claude 4.5、Midjourney 这些。
一次 MJ 绘画大概消耗几十积分,签到几天就能画一张。GPT-5 一次对话消耗也很少,普通使用频率的话,每天签到的积分绰绰有余。
算一下:坚持签到一年,大概能拿一万八普通积分、一千八高级积分、一千八绘画积分。对比 ChatGPT Plus 一个月 20 美元,Claude Pro 年付也要 17 美元一个月——IMYAI 的免费额度对大多数个人开发者来说真的够了。
重度用户也可以开会员,价格比单买任何一个官方订阅都便宜,而且能解锁所有模型的无限使用。
五、实战:带着 IMYAI 从零写一个学生成绩管理系统
前面说了半天功能,这节来点实际的。完全不用提前懂 Python,跟着操作就行。
5.1 要做什么
一个命令行版的学生成绩管理工具,功能就这几样:
- 添加学生(姓名、学号、语文、数学、英语成绩)
- 查看所有学生,按总分排名
- 按学号查找学生
- 修改成绩
- 删除记录
- 统计各科平均分、最高分、最低分
- 数据存到 JSON 文件里,关了再打开还在
5.2 第一次对话:把需求说清楚就行
打开 IMYAI,把下面这段话贴进去:
请用 Python 写一个命令行版的学生成绩管理系统。功能要求:
- 可以添加学生(姓名、学号、语文成绩、数学成绩、英语成绩)
- 可以查看所有学生,按总分从高到低排序
- 可以按学号查找学生
- 可以修改学生成绩
- 可以删除学生
- 显示各科平均分、最高分、最低分
- 数据保存到 JSON 文件,下次启动自动加载
要求代码有清晰的中文注释,适合 Python 初学者阅读。
一个小建议:别用默认免费模型。切成 DeepSeek V3 或者 Claude 4.5,代码质量和注释水平明显好一截。消耗的积分很少,签到一天够用很多次。
出来的代码大概是这样的:
# ========== 学生成绩管理系统 ==========
# 这是一个命令行版的学生成绩管理系统,适合 Python 初学者学习
import json
import os
DATA_FILE = "students.json"
def load_data():
"""从 JSON 文件加载学生数据"""
if os.path.exists(DATA_FILE):
with open(DATA_FILE, "r", encoding="utf-8") as f:
return json.load(f)
return []
def save_data(students):
"""将学生数据保存到 JSON 文件"""
with open(DATA_FILE, "w", encoding="utf-8") as f:
json.dump(students, f, ensure_ascii=False, indent=2)
def add_student(students):
"""添加新学生"""
print("\n===== 添加学生 =====")
name = input("请输入姓名:")
student_id = input("请输入学号:")
# 检查学号是否重复
for s in students:
if s["学号"] == student_id:
print(f"学号 {student_id} 已经存在,换个学号试试")
return
chinese = float(input("请输入语文成绩:"))
math = float(input("请输入数学成绩:"))
english = float(input("请输入英语成绩:"))
student = {
"姓名": name,
"学号": student_id,
"语文": chinese,
"数学": math,
"英语": english,
"总分": chinese + math + english,
"平均分": round((chinese + math + english) / 3, 1)
}
students.append(student)
save_data(students)
print(f"已添加 {name}")
def view_all_students(students):
"""查看所有学生,按总分从高到低"""
if not students:
print("\n还没有学生数据")
return
sorted_students = sorted(students, key=lambda x: x["总分"], reverse=True)
print("\n===== 学生成绩列表(按总分排名)=====")
print(f"{'排名':<4}{'姓名':<8}{'学号':<12}{'语文':<6}{'数学':<6}{'英语':<6}{'总分':<8}{'平均分':<6}")
print("-" * 56)
for i, s in enumerate(sorted_students, 1):
print(f"{i:<4}{s['姓名']:<8}{s['学号']:<12}{s['语文']:<6}{s['数学']:<6}{s['英语']:<6}{s['总分']:<8}{s['平均分']:<6}")
def search_student(students):
"""按学号查找学生"""
student_id = input("\n输入学号:")
for s in students:
if s["学号"] == student_id:
print(f"\n{s['姓名']}({s['学号']})")
print(f"语文:{s['语文']} | 数学:{s['数学']} | 英语:{s['英语']}")
print(f"总分:{s['总分']} | 平均分:{s['平均分']}")
return
print(f"没找到学号 {student_id}")
def modify_student(students):
"""修改学生成绩"""
student_id = input("\n输入要修改的学生学号:")
for s in students:
if s["学号"] == student_id:
print(f"当前:{s['姓名']}")
print(f"语文:{s['语文']} | 数学:{s['数学']} | 英语:{s['英语']}")
s["语文"] = float(input("新的语文成绩(回车跳过):") or s["语文"])
s["数学"] = float(input("新的数学成绩(回车跳过):") or s["数学"])
s["英语"] = float(input("新的英语成绩(回车跳过):") or s["英语"])
s["总分"] = s["语文"] + s["数学"] + s["英语"]
s["平均分"] = round(s["总分"] / 3, 1)
save_data(students)
print(f"已更新 {s['姓名']} 的成绩")
return
print(f"没找到学号 {student_id}")
def delete_student(students):
"""删除学生记录"""
student_id = input("\n输入要删除的学生学号:")
for i, s in enumerate(students):
if s["学号"] == student_id:
confirm = input(f"确定删除 {s['姓名']}({student_id})?(y/n):")
if confirm.lower() == "y":
students.pop(i)
save_data(students)
print("已删除")
else:
print("取消删除")
return
print(f"没找到学号 {student_id}")
def show_statistics(students):
"""成绩统计"""
if not students:
print("\n没有数据可以统计")
return
chinese_scores = [s["语文"] for s in students]
math_scores = [s["数学"] for s in students]
english_scores = [s["英语"] for s in students]
print("\n===== 成绩统计 =====")
print(f"{'科目':<6}{'平均分':<10}{'最高分':<10}{'最低分':<10}{'及格率':<10}")
print("-" * 46)
for subject, scores in [("语文", chinese_scores), ("数学", math_scores), ("英语", english_scores)]:
avg = round(sum(scores) / len(scores), 1)
print(f"{subject:<6}{avg:<10}{max(scores):<10}{min(scores):<10}"
f"{round(sum(1 for s in scores if s >= 60) / len(scores) * 100, 1)}%")
def show_menu():
"""主菜单"""
print("\n" + "=" * 30)
print(" 学生成绩管理系统")
print("=" * 30)
print("1. 添加学生")
print("2. 查看所有学生")
print("3. 查找学生")
print("4. 修改成绩")
print("5. 删除学生")
print("6. 成绩统计")
print("0. 退出")
print("=" * 30)
def main():
students = load_data()
print(f"已加载 {len(students)} 条记录")
while True:
show_menu()
choice = input("请选择(0-6):")
if choice == "1":
add_student(students)
elif choice == "2":
view_all_students(students)
elif choice == "3":
search_student(students)
elif choice == "4":
modify_student(students)
elif choice == "5":
delete_student(students)
elif choice == "6":
show_statistics(students)
elif choice == "0":
print("再见")
break
else:
print("输入不对,重新选")
if __name__ == "__main__":
main()
存成 student_system.py,终端里跑:
python student_system.py
一个带数据持久化的成绩管理系统就跑起来了。
5.3 出错了怎么办?
比如用户不小心打了字母进去当成绩,程序会崩。别自己盯着屏幕找 bug,把报错贴给 IMYAI:
运行这段代码时如果用户输入了非数字的成绩会报错,请帮我加上输入校验
它直接给你补一段校验函数:
def input_score(prompt):
"""安全输入成绩,保证是 0-100 的数字"""
while True:
try:
score = float(input(prompt))
if 0 <= score <= 100:
return score
print("成绩范围 0-100,重新输入")
except ValueError:
print("请输入数字")
把原来那几个 float(input(...)) 换成这个函数调用就行。
5.4 再加点料
程序基本能用了,但终端输出全是白字,有点朴素。继续让 IMYAI 优化:
帮我把这个成绩管理系统升级一下:
- 用 colorama 给输出加颜色,标题蓝色、错误红色、成功绿色
- 统计数据用终端 ASCII 柱状图展示(* 表示长度)
- 增加导出 CSV 的功能
改完之后运行效果像样多了。
5.5 回头看看
整个过程里,你做的事就是描述需求、跑代码、发现问题再描述。真正花时间的不是敲键盘,而是想清楚你到底要什么。
AI 把"我想做什么"翻译成了可运行的东西。它写的代码未必没问题,但它帮你跳过了最磨人的环节:翻文档、搜 Stack Overflow、试参数。省出来的精力,你可以拿去想架构、捋业务逻辑、或者早点下班。
六、我的实际使用感受
用了快两年,好的坏的都有。
如果你同时用好几个 AI 模型,又不想管一堆账号和订阅,这网站很适合。写代码、写文章、做图、做视频,在不同 AI 工具间频繁切换的人,集中到一个地方会省很多事。学生和新手想低成本试试各种模型,也不用一个个去注册。
不太适合的情况也有。对延迟特别敏感的场景,直连官方 API 肯定更快。需要批量调 API 做自动化 pipeline 也不行,IMYAI定位是交互使用,不是 API 服务。还有就是处理敏感数据的时候,数据会经过第三方,自己掂量。
日常用它写代码、改 bug、配图、整理思路,够用。未必每项都是最强的,但胜在什么都在一起,不用来回切,大部分功能还免费。
几个入口:
-
公众号:图欧科技
更多推荐

所有评论(0)