作业文件

首先从课程主页或群文件里下载本次实验所需的文件,对于本次实验是lab00-Code.zip这个压缩包。

首先,新建一个文件夹,再将lab00-Code.zip中的文件解压到这个文件夹。之后每次作业都需要如此解压到一个新文件夹再开始写,切忌直接双击打开压缩包中的文件或者直接解压到旧作业的文件夹中!!!

对第一次接触电脑的同学:解压软件我个人推荐7-Zip。解压方法是点击左上角的【提取】,然后选择刚刚新建的文件夹;或者全选(用鼠标框住或使用快捷键【Ctrl+A】)压缩包中所有文件,再用鼠标拖到刚刚新建的文件夹中。

然后打开刚刚解压到的文件夹,右键点击一处空白区域,再选择【用Code打开】。这样操作相当于用VSCode打开整个文件夹,这对后面的实验会比较方便。我个人不建议通过双击lab00.py来用VSCode打开单个文件的方法。

本次实验的作业文件是lab00.py。 打开lab00.py,首先能看到下面这段代码:

def twenty_twenty_three():
    """Come up with the most creative expression that evaluates to 2023,
    using only numbers and the +, *, and - operators.

    >>> twenty_twenty_three()
    2023
    """
    return ______

上面代码里包含了我们将要完成的第一个题目——2023(这个题目就叫做2023)。看到上面的代码时,你可能是一脸懵逼的。不过不要慌,我们来一步一步理解。

首先,这段代码使用def twenty_twenty_three()定义了一个函数twenty_twenty_three()。如果在实验课前老师还没讲如何定义函数,大家也不用着急。不知道这个知识点也能完成本次实验。不过,在下一次课上你应该就会学到如何定义函数了。

接下来,我们会看到一段被三引号"""包围的文本。我们把这段文本叫做docstring(全称document string,即文档字符串),但对于python来说,这段文本就是一段注释而已,并不会被执行。它一般被用来描述一个函数应该做什么。在我们twenty_twenty_three的例子中,这段docstring告诉我们:“写出一个富有创造力的表达式,使得计算它的值能得到2023”(当然,在本次实验中没那么有创造力也无妨)。此外,它还要求我们只可以使用数字和加减乘除。

紧接着,我们能看到有一行docstring是以>>>开头的。从这行开始往下的docstring被叫做doctest (举一反三一下,它的全称为什么?——document test)。回想一下大家在前面使用的Python交互模式,>>>被我们称为提示符——它告诉我们可以在它后面输入表达式或者语句。是不是当你在>>>后面输入一个表达式后,Python解释器就会在下一行打印这个表达式的值?doctest就是通过这样的示例来告诉你一个函数会做什么:“当我们在交互模式下这样输入代码,就会得到这样的结果”。在我们twenty_twenty_three的例子中,doctest告诉我们:“当我们在交互模式下输入twenty_twenty_three(),就会得到2023”。

总的来说,docstring和doctest分别使用“描述”和“举例”的手段来告诉我们一个函数的行为。未来在大家完成实验题目的时候,除了阅读实验讲义,也最好读一读它们加深自己的理解。