跳到主要内容

代码练习区

学习工作台右上区域,你在这里写代码、运行、提交判题。

题目导航

  • 顶部有题号导航(1 2 3 …),点击直接切到对应题目。
  • 已通过的题号显示为绿色实心 ✓,未通过 / 未作答为空心。
  • 顶部显示「练习题 X/Y 已通过」。

题型

课程包定义的题型,本期常见几种:

  • 预测输出(read-answer):给你一段代码,先预测它会输出什么,再提交你的预测,AI 助教判断你是否真的理解。
  • 代码填空 / 完整编写(editor):在编辑器里补全或从头写代码,运行 + 提交判题。

代码编辑器

编辑器功能:

  • 语法高亮(Python)、行号
  • 自动缩进:回车沿用当前行缩进,行尾是冒号时再进一级
  • 括号 / 引号自动补全:输入 ( [ { " ' 自动补上另一半;选中文字时按这些键会包裹选区
  • Tab 缩进Ctrl+Z 撤销Ctrl+/ 注释切换(选中行整体加 / 去注释)
  • Ctrl + 滚轮调字号:范围 12px ~ 20px,本地保存
  • 编辑器高度随行数自适应,超过约 40 行后固定并出滚动条

运行与提交

  • 运行看看:用你当前的代码跑一次,在结果面板显示输出,不判题、不改变题目状态。如果代码里有 input(),运行时会在结果区出现一个输入框,输入后按回车,程序继续。
  • 提交:执行判题,给出「通过」或「未通过」。判题时如果代码用了 input(),系统会自动喂入题目的测试输入(像 OJ 一样),不需要你手动输入。
  • 重置:二次确认后,编辑器恢复到题目初始状态(填空题恢复为带空的半成品,编写题恢复为空模板)。

运行 / 提交期间按钮会进入 loading 态并禁止重复点击。

结果面板

  • 通过:绿色「通过」标识,题号变绿色实心,出现「查看解析」入口。
  • 未通过:红色标识,AI 助教区会给出失败原因(报错信息或期望输出与实际输出的对照)。
  • 结果超出高度时区域内滚动;单次输出超过 1000 行会截断,末尾提示「输出内容过长,已截断显示」。

报错提示是友好翻译

不会看到原始的 Python 报错堆栈。系统把常见错误翻译成一句人话,例如:

  • 语法错误 → 「看起来有个小笔误(第 X 行附近)——可能少了个引号、冒号或者括号。」
  • 全角字符 → 「第 X 行有个 Python 不认识的字符『:』——它是全角(中文输入法打出来的)符号,应该用英文的 :。」
  • 变量没定义、类型不匹配、除以 0 等都有对应的友好提示。

小提示:Python 只认英文半角符号。中文输入法打出的 :,()>= 等全角符号长得几乎一样,但会导致报错。编辑器已尽量帮你规范化,但如果遇到「看着没问题却报错」,多半就是混进了全角符号。

查看解析

  • 题目通过后,「查看解析」入口可点击,展示课程包提供的解析内容。
  • 未通过前该入口置灰,提示「通过本题后可查看解析」。

内容持久化

  • 你在编辑器里写的内容自动保存:切题、切小节、返回主页、关闭客户端后重新进入,内容都保持上次离开时的状态。
  • 提交后(无论通过与否)内容不清空。
  • 只有点「重置」才会恢复初始状态。

无练习题的小节

如果本节没有练习题,练习区显示「本节无练习题」,本节的完成条件改为视频看到 90%

本节完成与解锁

  • 有练习题:本节全部练习题通过即完成(视频进度不要求,可以不看视频直接做题)。
  • 无练习题:视频看到 90% 即完成。
  • 完成后弹出「本节已完成」,其后第一个锁定小节解锁;已是最后一节时提示「恭喜你,已完成本课程全部内容」。
  • 完成状态不可逆,已完成的小节不会因任何操作退回。

做题卡住了?右下的 AI 助教 随时能问。