CS1602计算导论
Lab 1Part 1 计算基础与 Python 入门AI Level 0

环境搭建与第一个程序

在自己的电脑上装好 Python 和 VS Code,学会用终端运行 .py 文件,走通一次提交。B 段用十行代码演示混沌——初值差百万分之一,二十五轮之后面目全非。

下载 PDF截止:小作业 1 · 10 月 10 日 周六 23:59
本页目录

本次目标

  • 在自己的电脑上装好 Python 3.13 和 VS Code
  • 能用两种方式运行程序:VS Code 里点运行、终端里敲命令
  • 走通一次完整的提交流程
  • 亲眼看见「初值的微小差别会被放大」这件事

一、安装 Python

课程网站上放了一份 Python 3.13.15 的官方安装包。校园网连 python.org 时快时慢, 第一周九十分钟耗不起,直接从这里下载:

你的系统下载大小
Windows(绝大多数)python-3.13.15-amd64.exe28 MB
Windows on ARM(骁龙本)python-3.13.15-arm64.exe27 MB
macOS(Intel 与 Apple Silicon 通用)python-3.13.15-macos11.pkg69 MB

这三个文件和 python.org/downloads 上的完全一致, 只是存了一份在校内。

Windows

运行安装程序,在第一个界面就勾选 Add python.exe to PATH,然后点 Install Now。

macOS

下载 .pkg 安装包,一路下一步。

系统自带的那个 python3 版本通常比较旧(macOS 带的是给系统用的,不是给你用的), 装完之后以官网这个为准。

验证

打开终端(Windows 用 PowerShell 或 Terminal,macOS 用「终端」),输入:

python --version

应该输出 Python 3.13.x。如果提示找不到命令,在 macOS 和 Linux 上试试 python3 --version; 在 Windows 上说明 PATH 没配好,回去重装并勾选那个选项。

二、安装 VS Code

从 code.visualstudio.com 下载安装。装完之后要装一个扩展:

  1. 点左侧栏的扩展图标(四个方块那个),或按 Ctrl+Shift+X(macOS 是 Cmd+Shift+X)
  2. 搜索 Python
  3. 装微软官方那个(作者是 Microsoft,下载量最高的)

这个扩展提供语法高亮、错误提示、运行按钮和调试器。

三、写第一个程序

  1. 新建一个文件夹专门放这门课的代码。路径里不要有中文和空格——有些工具处理起来会出问题。比如 D:\cs1602 或者 ~/cs1602。
  2. 在 VS Code 里 File → Open Folder,打开这个文件夹。
  3. 新建文件 hello.py,写进去:
print("Hello world")
  1. 点右上角的 ▶ 运行按钮。下方会弹出一个终端,显示 Hello world。

也用终端运行一次

VS Code 里的运行按钮很方便,但你应该知道它背后干了什么。

按 Ctrl+`(反引号,键盘左上角 Esc 下面那个键)打开终端,输入:

python hello.py

同样的输出。这才是运行 Python 程序的本来面目——运行按钮只是替你敲了这行命令。

四、五个小实验

环境装好之后,在交互式解释器里跑一遍下面五件事。终端里直接敲 python(或 python3) 就进去了,提示符是 >>>;退出敲 exit() 或按 Ctrl+D。

这五件事的答案要填到平台的「环境检查与第一次观察」那张答题卡里。 都是一行就能跑出来的,重点不是敲,是看结果和你想的一不一样。

  1. 两种引号。分别跑 print("上海交通大学") 和 print('上海交通大学'),比较输出。
  2. Python 的信条。跑 import this,读一遍。这是 Tim Peters 写的 19 条, Python 社区的审美纲领,往后这门课会不断回到它。
  3. 一个很大的数。算 2 ** 100。
  4. 两种除法。算 10 / 3 和 10 // 3。
  5. 一次加法。算 0.1 + 0.2。

想玩玩的(不计分)

新建 star.py,跑一下:

import turtle

tur = turtle.Turtle()
tur.speed(6)
tur.getscreen().bgcolor("black")
tur.color("cyan")
tur.penup()
tur.goto(-200, 50)
tur.pendown()

def star(t, size):
    if size <= 10:
        return
    for _ in range(5):
        t.forward(size)
        star(t, size / 3)
        t.left(216)

star(tur, 360)
turtle.done()

一个五角星,每条边上又长出小五角星,小五角星上再长出更小的 —— 这叫分形。 画出这个图形的代码不到二十行,靠的是 star 把自己又叫了一遍。 这个写法叫递归,第 7 讲专门讲它。

现在不用懂,改改 360 和 size / 3 这两个数,看图形怎么变就行。

五、提交

打开 课程评测平台,用你的学号注册(不需要口令,学号在选课名单里就能注册), 然后进「小作业 1」。

那一页上有两种入口:

入口交什么怎么算分
代码题一个函数平台当场跑测试,立刻出分
答题卡选择题 + 问答题选择题当场判;问答题写进评测报告,助教看

A 段的编程题是代码题,本周的五个小实验和 B、C 两段的问题都是答题卡 —— 你在网页上直接答,不用另外交文档。写完的答案会一并写进评测报告, 学期末下载报告交到 Canvas 就行。

从这周开始养成习惯:每次实验课结束前提交一次,哪怕没做完。平台记录你的最好成绩, 答题卡也可以反复改了再交。


A 段 · 必做

1-1 自我介绍

写一个程序,用 print() 输出三行:你的姓名、学号、以及一句你想说的话。

张三
526030910001
希望这学期能写出让自己满意的代码

1-2 进制转换

用 bin()、oct()、hex() 输出你的学号在二进制、八进制、十六进制下的样子。

1-3 算一算

用 print() 输出下面几个式子的结果,先自己猜一遍再运行:

7 / 2
7 // 2
7 % 2
2 ** 10

先自己写下来,再运行验证。猜错的那个填到答题卡「A 段 · 算一算与读报错」里, 说说原来以为是多少。这四个运算符 L2 会正式讲。

1-4 故意写错

分别制造下面三个错误,把完整的报错信息复制到答题卡里:

  1. 把 print 拼成 pirnt
  2. 用中文全角括号 print("hello")
  3. 字符串只写一半的引号 print("hello)

然后回答:这三个报错的第一行分别是什么?它们指向的行号对不对?


B 段 · 深入:十行代码里的混沌

这一段不要求你懂语法——照着敲进去、运行、观察就行。它要给你看的是 计算这件事本身的一个性质,和 Python 无关。

新建 chaos.py:

x = float(input("输入一个 0 到 1 之间的小数:"))

for i in range(25):
    x = 3.9 * x * (1 - x)
    print(f"{i + 1:3}  {x:.17f}")

注意第 4、5 行开头要多缩进四个空格——这是 Python 表示「这两行属于循环」的方式,L4 会正式讲。

B-1 跑一遍

输入 0.25,运行,把最后一行记下来 —— 下一问要拿它对照。

这个式子叫 Logistic 映射,是生态学里用来描述种群数量的模型:x 是当前种群占环境容量的比例,每一轮算出下一代。系数 3.9 表示繁殖率。

B-2 把初值改动百万分之一

再跑一次,这次输入 0.250001。

两次的初值只差 0.000001。请对照两次的输出回答:

  1. 第 10 轮时,两个结果差多少?
  2. 第 25 轮时,两个结果差多少?
  3. 从第几轮开始,你已经看不出这两个序列有什么关系了?

B-3 同一个初值,两种写法

把循环里那一行换成下面这个,初值仍然输入 0.25:

x = 3.9 * x - 3.9 * x * x

3.9 * x * (1 - x) 和 3.9 * x - 3.9 * x * x 在数学上完全等价,你可以自己展开验证。

请回答:

  1. 两种写法跑出来的第 25 轮结果,一样吗?
  2. 从第几轮开始出现差别?
  3. 你觉得这是为什么?(猜一猜就行,答案在 L2 第四段)

C 段 · 基本功:第一次打开终端

将来你会在没有图形界面的服务器上跑程序,那时候只有终端。而且很多工具 (装库、版本管理、跑测试)本来就是命令行的。

四个命令

命令作用记法
pwd我现在在哪个目录print working directory
ls列出当前目录里有什么list
cd 目录名进入某个目录change directory
cd ..回到上一级目录.. 表示上一级

Windows 的 PowerShell 这四个都能用(ls 和 pwd 是别名)。

C-1 走一遍

在终端里依次完成,把每一步的命令和输出从终端复制出来,填进平台上的答题卡(不必截图):

  1. pwd 看看自己在哪
  2. cd 到你放这门课代码的文件夹
  3. ls 确认 hello.py 和 chaos.py 都在
  4. python hello.py 跑一次
  5. cd .. 退到上一级,再 pwd 确认位置变了

检查清单

交之前对一遍:

  • python --version 输出 3.13.x
  • VS Code 装好了 Python 扩展
  • 能用运行按钮跑通 hello.py
  • 能用 python hello.py 跑通同一个文件
  • 五个小实验跑过了,答题卡「环境检查与第一次观察」交了
  • A 段四道题都提交了
  • 答题卡「B 段 · 十行代码里的混沌」交了
  • 答题卡「C 段 · 第一次打开终端」交了
  • 课程群加了

装不上怎么办

症状多半是怎么办
python 不是内部或外部命令Windows 上 PATH 没配重跑安装程序 → Modify → 勾上 Add to PATH
zsh: command not found: pythonmacOS 上命令名不同试 python3;或检查是否装到了别的位置
VS Code 运行按钮是灰的没装 Python 扩展装微软官方的 Python 扩展
VS Code 找不到解释器没选解释器Ctrl+Shift+P → 输入 Python: Select Interpreter → 选 3.13
运行时报 can't open file终端当前目录不对pwd 看位置,cd 到文件所在目录
chaos.py 报 IndentationError循环里那两行没缩进那两行前面各加四个空格

还是不行——举手叫助教,或者发到课程群里。发问的时候把完整报错截图贴上,说清你的系统版本。