实验 0:入门指引 Lab00.zip¶
MOLI:本次实验你将会学到什么
- Python 环境搭建
- Python 表达式、函数的基本用法
- Python 常用命令行参数
开始文件¶
下载 lab00.zip
这个实验要求所有学生完成,并计入你的实验成绩
介绍¶
这个实验说明了如何设置你的电脑去完成作业,并介绍一些 Python 的基础知识。如果你需要任何帮助,可以在 MOLI 群聊中寻求帮助。
这些是本次实验的大纲:
- 设置:需要为本次课程安装必要的软件。这将涉及到多个组件,列举如下:
- 安装终端:安装一个终端,这样你就可以和本次课程中的文件进行交互,并且运行 OK 命令。如果你已经在电脑上有了一个终端并且能够舒适的使用它,你可以跳过这一部分。
- 安装 Python 3:在你电脑上安装 Python 编程语言。如果你已经安装了 Python 3.8 或更高版本(最好是 Python 3.11),你可以跳过这一部分。
- 安装文本编辑器:安装软件去编辑课程中的
.py文件(比如:VSCode)。如果你已经有了一个你喜欢的文本编辑器,你可以跳过这一部分。 - 演示:使用终端:本节将带你了解如何去使用终端和 Python 解释器。如果你已经熟悉这两者了,你就不必去阅读这一部分了。
- 演示:组织你的文件:本节将带你了解在本次课程中如何使用你的终端去组织和浏览文件。每个人都应该浏览这一小节,因为这里有课程特定的重要细节。然而,如果你可以很熟练的在终端浏览目录结构,你将会感到非常熟悉。
- 必做:完成作业:你必须完成这一部分才能获得作业分数。在这里你将练习到在实验、家庭作业和项目中遇到的各种问题。这次作业的主要目标是让你练习我们将使用到的软件。
- 必做:提交你的作业:你必须完成这一部分才能获得作业分数。本节将说明如何在完成上述部分后提交你的作业,并说明如何在 Gradescope 上确认提交状态。
- 附录:有用的 Python 命令行选项:这些命令对你的调试工作非常有用,但是并不是完成实验所必须的。我们包含这些是因为我们觉得他们对于你通过整个课程非常有帮助。
设置¶
设置你的设备,选择你的操作系统对应的指南
你的第一次作业¶
当你在完成作业中,确保你的终端工作目录是正确的(通常就是你解压作业的目录位置)
1) Python 会怎么做?¶
本次实验作业的一部分就是去预测 Python 解释器的行为。
在终端输入以下的内容来开始本节:
正如设置的章节所述,如果python3 ok -q python-basics -u --localpython3命令无效,请尝试使用python或py。你将被提示去输入变量、语句或表达式的输出结果。你必须正确的输入他们才能继续,但答错也没有处罚。
>>> x = 20
>>> x + 2
------
>>> x
------
>>> y = 5
>>> y = y + 3
>>> y * 2
------
>>> y + x
------
2) 函数实现¶
使用 VS Code 打开整个 lab00 文件夹。你可以拖拽文件夹到 VS Code 应用图标上,或打开 VS Code 并在文件菜单中使用 打开文件夹... 选项。一旦你打开了 lab00 文件夹,你将在 VS Code 窗口左侧面板的文件浏览器中看到 lab00.py 文件。点击它去开始编辑 lab00.py,这就是你最终需要提交以获取实验分数的文件。
重要:在 VS Code 的 文件 菜单中打开 自动保存 功能。这样,无论你什么时候修改了一个文件,内容都会被自动保存
现在可以完成实验了。你应该看到一个名为 twenty_twenty_five 的函数,并包含了一个空的 return 语句。这个空的地方是你唯一需要更改的部分。用一个表达式替代它以获得 2025 的计算结果。你能想到的最有创意的表达式是什么?
3) 运行测试¶
我们将使用名为 ok 的程序去测试你的代码。ok 将在你的每个作业中包含。
切换到终端,确定你在我们之前创建的 lab00 目录(cd 命令可以切换你的目录)。专业提示:如果你在 VS Code 中打开了 lab00 文件夹,并在 终端 菜单选择了 新建终端,你的终端将自动位于 lab00 目录。
在这个目录中,你可以使用 ls 命令去确认包含了以下文件:
lab00.py:你刚刚编辑的初始文件ok:我们的测试程序lab00.ok:ok的测试文件
现在可以测试我们的代码,去确定它正常工作。你可以运行 ok 命令:
python3 ok --local
别忘了,如果你使用 Windows 操作系统且
python3命令没有正常工作,请尝试使用python或py。
如果你正确的完成代码,并且解锁了你的测试,你应该可以看到一个成功的测试:
=====================================================================
Assignment: Lab 0
=====================================================================
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Running tests
---------------------------------------------------------------------
Test summary
2 test cases passed! No cases failed.
如果你没有通过测试,ok 将会显示类似这些信息:
---------------------------------------------------------------------
Doctests for twenty_twenty_five
>>> from lab00 import *
>>> twenty_twenty_five()
0
# Error: expected
# 2025
# but got
# 0
---------------------------------------------------------------------
Test summary
0 test cases passed before encountering first failed test case
在你的编辑器中修复你的代码,直到测试通过。
附录:实用的 Python 命令行参数¶
以下是运行 Python 文件中最常用的方式:
- 不使用如何命令行选项去运行你提供的文件中的代码,然后返回到命令行。如果你的文件只包含了一个函数定义,除非你有一个语法错误你将不会看到任何输出。
python3 lab00.py
2. -i:-i 选项可以在运行你提供的文件中的代码后,进入交互式环境(伴随着一个 >>> 提示符)。你可以进行表达式求值,比如调用你已定义的函数等。可以通过 exit() 来退出。你也可以在 Linux/Mac 上使用键盘快捷键 Ctrl-D 或在 Windows 上使用 Ctrl-z Enter 来进行退出。如果你在运行着交互环境时编写了 Python 文件,你需要退出并重启解释器才能使更改生效。
以下是我们应该如何在交互环境中运行 lab00.py:
python3 -i lab00.py
3. -m doctest:运行文件中的文档测试,即函数中的文档字符串。每个测试都由 >>> 和一些 Python 代码以及期望的输出组成。
以下是我们应该如何运行 lab00.py 中的文档测试:
python3 -m doctest lab00.py
当我们的代码通过了所有的测试时,不会有任何输出。否则,会有测试失败的信息显示。