实验 0:开始使用
截止时间:6 月 23 日(星期二)晚上 11:59。
起始文件
下载 lab00.zip.
所有学生都必须完成本实验。
出勤要求
要获得实验课学分,除了到场参加实验课外,你还需要提交实验题目。
如果你因合理原因(例如生病或时间冲突)缺席实验课,或者由于某种原因未能完成签到,请在一周内发送邮件至 cs61a@berkeley.edu ,以补记出勤学分。
项目介绍
本实验将说明如何配置电脑以完成课程作业,并介绍 Python 的一些基础知识。如果需要帮助,请在 Ed 上发帖,或在你被分配的实验课上向助教求助。
本实验的内容如下:
环境配置:安装本课程所需的基础软件,具体包括下面几个部分。
- 安装终端:安装终端,以便操作课程文件并运行 Ok 命令。
- 安装 Python 3:在电脑上安装 Python 3.8 或更高版本(最好是 Python 3.11 或更高版本)。
- 安装文本编辑器:安装用于编辑本课程
.py文件的软件。几乎所有学生都使用 VS Code。
- 复习:电脑的文件系统 这一部分概述电脑文件系统的工作方式,包括绝对路径和相对路径的含义。
- 操作演示:使用终端:这一部分将带你逐步学习如何使用终端和 Python 解释器。
- 操作演示:整理文件:这一部分将带你使用终端整理和浏览课程文件。 所有人都应阅读这一部分。
- 必做:完成作业:你必须完成这一部分才能获得作业学分。它的主要目的是让你练习使用课程提供的软件。
- 必做:提交作业:提交你的作业。
- 附录:实用的 Python 命令行选项:这些命令有助于调试,但并非完成本实验所必需。之所以列在这里,是因为它们很可能会在整门课程中持续帮到你。
环境配置
请选择与你所用操作系统对应的指南来配置设备。
你的第一份作业
完成作业时,请确保终端的工作目录正确(通常就是你解压作业文件的目录)。
1)Python 会怎么做?(WWPD)
实验作业中有一类题目要求你预测 Python 解释器的行为,我们把它们称为“Python 会怎么做?”(What Would Python Do,简称 WWPD)。
在本课程中,我们使用一个名为 ok 的程序来检查你对知识的掌握情况。
ok 会随每份作业一起提供。下面我们用它完成一道 WWPD 题。 ok.
打开终端,并确认当前位于 lab00 目录,也就是包含本次实验已解压文件的目录。在该目录中输入 ls ,确认其中包含以下文件:
lab00.py:本实验的起始文件ok:课程提供的测试程序lab00.ok:用于ok
如果看不到这些文件,请使用 cd 进入正确的目录。
如果在不包含
ok的目录中尝试运行ok,就会出现错误。
在终端中输入以下命令,它会运行 ok 并开始本节练习:
python3 ok -q python-basics -u
命令
python3 ok -q python-basics -u会让 Python 解释器运行当前工作目录中名为ok的文件。-q python-basics -u是传递给ok程序的参数,用来指定要运行哪一道题。正如环境配置部分所说,如果
python3命令无法运行,请尝试使用python或py.
接下来系统会要求你输入若干语句或表达式的输出。只有输入正确才能继续,但答错不会受到惩罚。
第一次运行 Ok 时,系统会要求你填写 bCourses 邮箱。请按照 这些说明操作.
>>> x = 20
>>> x + 2
______22
>>> x
______20
>>> y = 5
>>> y = y + 3
>>> y * 2
______16
>>> y + x
______28
2)实现函数
在 VS Code 中打开整个 lab00 文件夹。你可以把该文件夹拖到 VS Code 应用窗口中,也可以打开 VS Code 后使用 Open Folder... ,它位于 File 菜单中。打开 lab00 文件夹后,你会在 VS Code 窗口左侧的文件资源管理器中看到 lab00.py 文件。单击它即可开始编辑
lab00.py;你最终需要提交的正是这个文件。
重要:请在 VS Code 的 Auto Save ,它位于 File 菜单中开启该选项。这样每次修改文件时都会自动保存。如果没有开启 Auto Save,请记得经常手动保存。
建议:使用 VS Code 内置终端(位于菜单Terminal > New Terminal )。如果你已按上述说明在 VS Code 中打开作业文件夹,内置终端的工作目录会自动设为该文件夹,因此检查作业时无须再切换目录。
现在开始完成实验。你会看到一个名为 twenty_twenty_six 的函数,其中有一条空白的 return 语句。你只需修改这一处:用一个求值结果为 2026 的表达式替换它。试试看你能想出多有创意的表达式!
3)运行测试
我们还会使用 ok 测试代码。切换到终端,并确认当前位于 lab00 目录,其中应包含
ok 和 lab00.py.
小技巧: 如果你已经在 VS Code 中打开
lab00文件夹,并在 VS Code 的菜单中选择New Terminal,它位于Terminal,终端就会自动位于lab00目录。
现在运行 ok ,使用以下命令测试代码:
python3 ok
请记住:如果你使用 Windows,并且
python3命令无法运行,请尝试只使用python或py.
如果代码编写正确,而且已经完成测试解锁,你会看到测试通过的信息:
=====================================================================
Assignment: Lab 0
=====================================================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Running tests
---------------------------------------------------------------------
Test summary
2 test cases passed! No cases failed.
如果测试没有通过, ok 会显示类似下面的信息:
---------------------------------------------------------------------
Doctests for twenty_twenty_six
>>> from lab00 import *
>>> twenty_twenty_six()
0
# Error: expected
# 2026
# but got
# 0
---------------------------------------------------------------------
Test summary
0 test cases passed before encountering first failed test case
请在文本编辑器中修正代码,直到测试通过。
每次运行
ok时,ok都会尝试备份你的作业。如果看到“连接超时”或提示你没有选修本课程,不必担心;你仍然可以提交作业并获得学分。
4)开课前问卷
作为本次作业的一部分,请填写 开课前问卷 。
完成问卷后,你会得到一个口令。请把它写成字符串,填到标有
passphrase = 'REPLACE_THIS_WITH_PASSPHRASE' 的那一行。例如,如果口令是 abc,那么这一行应写为 passphrase = 'abc'.
使用 Ok 测试你的代码:
python3 ok -q presem_survey
在本地检查得分
你可以运行以下命令,在本地检查本次作业每道题的得分:
python3 ok --score
这不会提交作业! 确认得分符合预期后,请将作业提交到 Gradescope,以获得作业学分。
提交作业
现在你已经完成了第一份作业,该提交它了。请按照下面的步骤提交并获得分数。
重要: 你只需提交到 Gradescope;无须提交到 Ok.
通过 Gradescope 提交
使用 学校账户 和 CalNet ID 登录 Gradescope。登录后会进入你的 控制面板 。
- 在 控制面板中选择本课程。(你应该已经被加入 Gradescope;如果没有,请在 Ed 上发一篇私密帖子。)随后会看到本课程可提交的作业列表,其中会显示作业状态、发布日期和截止日期。
- 单击作业 Lab 0 将其打开。
出现对话框后,单击写有 拖放的灰色区域。系统会打开文件选择器,请选择你在本次作业中编辑过的代码文件
lab00.py。
选好文件后,单击 上传 按钮。上传成功后,屏幕上会显示确认消息,同时你也会收到一封邮件。

接下来等待几分钟,让自动评分器批改代码文件。最终得分会显示在右侧,输出应与你在本地测试时看到的一致。你可以在右上角标有 代码的标签页中查看已提交的代码。如果有错误,可以编辑
lab00.py代码,然后单击页面底部的 重新提交 重新提交代码文件。在截止时间前,你可以按需要重复提交任意多次。
WWPD 题目的回答不会提交到 Gradescope,也没有提交的必要。实验课学分以代码编写题为准。
恭喜,你刚刚提交了自己的第一份作业!
附录:实用的 Python 命令行选项
ls: lis出当前目录中的所有文件cd <path to directory>: c换到指定 d录mkdir <directory name>: m创k建一个新的 dir目录,并使用给定名称
下面是使用 Python 运行文件最常见的几种方式。
不带任何命令行选项时,Python 会运行指定文件中的代码,然后返回命令行。如果文件只包含函数定义,除非存在语法错误,否则不会看到任何输出。
python3 lab00.py-i:-i选项会先运行指定文件中的代码,再打开一个交互式会话(显示>>>提示符)。随后你可以对表达式求值,例如调用自己定义的函数。要退出,请输入exit()。也可以使用键盘快捷键Ctrl-D(Linux/Mac)或Ctrl-Z Enter(Windows)。如果在交互式运行期间修改了 Python 文件,需要退出并重新启动解释器,修改才会生效。
下面演示如何以交互方式运行
lab00.py:python3 -i lab00.py-m doctest:运行文件中的 doctest,也就是函数文档字符串里的示例。文件中的每个测试都由
>>>开头,后面跟着一段 Python 代码和预期输出。下面演示如何运行文件中的 doctest:
lab00.py:python3 -m doctest lab00.py如果代码通过所有 doctest,终端不会显示任何输出;否则会显示未通过测试的详细信息。