鱼C论坛

 找回密码
 立即注册
查看: 168|回复: 7

[技术交流] CS61A的ok文件运行方法

[复制链接]
发表于 2026-7-30 15:17:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ling830 于 2026-7-31 18:08 编辑

  1. python ok -q python-basics -u --local
  2. =====================================================================
  3. Assignment: Lab 0
  4. OK, version v1.18.1
  5. =====================================================================

  6. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7. Unlocking tests

  8. At each "? ", type what you would expect the output to be.
  9. Type exit() to quit

  10. ---------------------------------------------------------------------
  11. Python Basics > Suite 1 > Case 1
  12. (cases remaining: 1)

  13. What would Python display? If you get stuck, try it out in the Python
  14. interpreter!

  15. >>> x = 20
  16. >>> x + 2
  17. ? 22
  18. -- OK! --

  19. >>> x
  20. ? 20
  21. -- OK! --

  22. >>> y = 5
  23. >>> y = y + 3
  24. >>> y * 2
  25. ? 16
  26. -- OK! --

  27. >>> y + x
  28. ? 28
  29. -- OK! --

  30. ---------------------------------------------------------------------
  31. OK! All cases for Python Basics unlocked.

  32. Cannot backup when running ok with --local.

  33. D:\lab00>
复制代码


在 PowerShell 配置文件中设置别名(仅作用于 PowerShell/VS Code 默认终端)
如果你主要使用 PowerShell,可以通过设置环境变量别名(Alias)来实现,不修改任何磁盘文件。

打开或创建 PowerShell 配置文件:
在 PowerShell 中运行:
  1. notepad $PROFILE
复制代码


(如果提示文件不存在,点击“是”允许新建文件)

写入别名规则:
在打开的记事本中添加以下一行:
  1. Set-Alias -Name python3 -Value python
复制代码


保存并生效:
保存文件并关闭记事本。重新打开 PowerShell 终端即可使用 python3。

这样的话,就可以直接复制网站上的命令,只在后面加 --local
不用删除前面的3
顺带一提:Windows 自带的 py 启动器
实际上,Windows 版 Python 安装包默认带了一个官方启动器 py.exe:

输入 py -3 或 py 即可直接调起 Python 3。

如果电脑上安装了多个 Python 版本(例如 3.10 和 3.12),用 py -3.10 或 py -3.12 可以非常方便地切换环境,无需手动修改环境变量。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2026-7-30 15:17:22 | 显示全部楼层
在CS61A课程中,ok 是一个自动评分和测试工具,用于运行作业中的测试用例。你给出的命令 python ok -q python-basics -u --local 的作用是:

  • python ok:用Python解释器运行ok脚本。
  • -q python-basics:指定要测试的问题名称(这里是 python-basics)。
  • -u:进入“解锁”模式,你需要手动输入每个表达式的预期输出,以解锁测试用例。
  • --local:在本地运行,不将结果提交到远程服务器。


当你运行这个命令后,ok会逐个询问你预期结果(每行以 ? 开头),你输入正确答案后,它会显示 -- OK! -- 并解锁下一个用例。所有用例解锁后,你可以用 python ok -q python-basics --local(不带 -u)来实际运行代码并自动评分。


  1. # 解锁步骤(一次):
  2. python ok -q python-basics -u --local

  3. # 自动评分步骤(多次):
  4. python ok -q python-basics --local
复制代码


注意:解锁只需一次,之后每次修改代码后只需运行自动评分即可。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-7-30 15:19:04 | 显示全部楼层
FishC 发表于 2026-7-30 15:17
在CS61A课程中,ok 是一个自动评分和测试工具,用于运行作业中的测试用例。你给出的命令 python ok -q pyth ...

Cannot backup when running ok with --local.
是什么意思?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-7-30 15:19:10 | 显示全部楼层
ling830 发表于 2026-07-30 15:19
FishC 发表于 2026-7-30 15:17
在CS61A课程中,ok 是 ...


这条信息的意思是:当你使用 --local 参数时,ok 程序不会尝试连接远程服务器(因为指定了本地模式),因此无法将你的解锁进度备份到服务器。它只是一个提醒,不是错误,你可以忽略它,继续正常使用。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2026-7-31 16:47:50 | 显示全部楼层
请问怎么查看分数呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-7-31 17:50:00 | 显示全部楼层
在 PowerShell 配置文件中设置别名(仅作用于 PowerShell/VS Code 默认终端)
如果你主要使用 PowerShell,可以通过设置环境变量别名(Alias)来实现,不修改任何磁盘文件。

打开或创建 PowerShell 配置文件:
在 PowerShell 中运行:

PowerShell
  1. notepad $PROFILE
复制代码

(如果提示文件不存在,点击“是”允许新建文件)

写入别名规则:
在打开的记事本中添加以下一行:

PowerShell
  1. Set-Alias -Name python3 -Value python
复制代码

保存并生效:
保存文件并关闭记事本。重新打开 PowerShell 终端即可使用 python3。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-7-31 17:56:04 | 显示全部楼层
FIXYOU13 发表于 2026-7-31 16:47
请问怎么查看分数呢
  1. python ok --score --local
复制代码


本地服务器查看分数,不用输入邮箱
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-7-31 17:58:37 | 显示全部楼层
本帖最后由 ling830 于 2026-7-31 18:00 编辑
ling830 发表于 2026-7-31 17:56
本地服务器查看分数,不用输入邮箱

  1. (base) PS E:\lab00> python ok --score --local
  2. =====================================================================
  3. Assignment: Lab 0
  4. OK, version v1.18.1
  5. =====================================================================

  6. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7. Scoring tests

  8. ---------------------------------------------------------------------
  9. Doctests for twenty_twenty_six

  10. >>> from lab00 import *
  11. >>> twenty_twenty_six()
  12. 2026
  13. Score: 1.0/1

  14. ---------------------------------------------------------------------
  15. Python Basics
  16.     Passed: 0
  17.     Failed: 0
  18. [k..........] 0.0% passed

  19. ---------------------------------------------------------------------
  20. Doctests for presem_survey

  21. >>> from lab00 import *
  22. >>> presem_survey(passphrase)
  23. 'f65fb8fdaeda6d85eb3089dcdf7784836dde30e260c0ad31b9b2e533'
  24. Score: 1.0/1

  25. ---------------------------------------------------------------------
  26. Point breakdown
  27.     twenty_twenty_six: 1.0/1
  28.     Python Basics: 0.0/0
  29.     presem_survey: 1.0/1

  30. Score:
  31.     Total: 2.0

  32. Cannot backup when running ok with --local.
  33. (base) PS E:\lab00>

复制代码

这里显示的最终总得分是 **2 分(满分 2 分)**!

从最后的汇总表格(Point breakdown)可以看到:

| 测试项目 | 得分 / 满分 | 状态 |
| --- | --- | --- |
| **twenty_twenty_six** | **1.0 / 1** | 通过 |
| **Python Basics** | **0.0 / 0** | 此项为概念选择题,无分值比例 |
| **presem_survey** | **1.0 / 1** | 通过 |
| **Total(总分)** | **2.0 / 2** | **全对通过!** |

---

底部的系统提示 `Cannot backup when running ok with --local` 只是在提醒你“*由于开启了 `--local` 离线模式,代码没有备份/上传到云端服务器*”。这对于本地自学练习完全没有影响,你的 **Lab 0 已经完美搞定**了!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-8-21 16:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表