ling830 发表于 2026-7-30 15:17:15

CS61A的ok文件运行方法

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


python ok -q python-basics -u --local
=====================================================================
Assignment: Lab 0
OK, version v1.18.1
=====================================================================

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unlocking tests

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

---------------------------------------------------------------------
Python Basics > Suite 1 > Case 1
(cases remaining: 1)

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

>>> x = 20
>>> x + 2
? 22
-- OK! --

>>> x
? 20
-- OK! --

>>> y = 5
>>> y = y + 3
>>> y * 2
? 16
-- OK! --

>>> y + x
? 28
-- OK! --

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

Cannot backup when running ok with --local.

D:\lab00>

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

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

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

写入别名规则:
在打开的记事本中添加以下一行: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 可以非常方便地切换环境,无需手动修改环境变量。

FishC 发表于 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)来实际运行代码并自动评分。


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

# 自动评分步骤(多次):
python ok -q python-basics --local


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

ling830 发表于 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.
是什么意思?

FishC 发表于 2026-7-30 15:19:10

ling830 发表于 2026-07-30 15:19
FishC 发表于 2026-7-30 15:17
在CS61A课程中,ok 是 ...

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

FIXYOU13 发表于 2026-7-31 16:47:50

请问怎么查看分数呢

ling830 发表于 2026-7-31 17:50:00

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

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

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

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

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

ling830 发表于 2026-7-31 17:56:04

FIXYOU13 发表于 2026-7-31 16:47
请问怎么查看分数呢

python ok --score --local

本地服务器查看分数,不用输入邮箱

ling830 发表于 2026-7-31 17:58:37

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

ling830 发表于 2026-7-31 17:56
本地服务器查看分数,不用输入邮箱

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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Scoring tests

---------------------------------------------------------------------
Doctests for twenty_twenty_six

>>> from lab00 import *
>>> twenty_twenty_six()
2026
Score: 1.0/1

---------------------------------------------------------------------
Python Basics
    Passed: 0
    Failed: 0
0.0% passed

---------------------------------------------------------------------
Doctests for presem_survey

>>> from lab00 import *
>>> presem_survey(passphrase)
'f65fb8fdaeda6d85eb3089dcdf7784836dde30e260c0ad31b9b2e533'
Score: 1.0/1

---------------------------------------------------------------------
Point breakdown
    twenty_twenty_six: 1.0/1
    Python Basics: 0.0/0
    presem_survey: 1.0/1

Score:
    Total: 2.0

Cannot backup when running ok with --local.
(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 已经完美搞定**了!
页: [1]
查看完整版本: CS61A的ok文件运行方法