环境搭建与第一个程序
在自己的电脑上装好 Python 和 VS Code,学会用终端运行 .py 文件,走通一次提交。B 段用十行代码演示混沌——初值差百万分之一,二十五轮之后面目全非。
本页目录
本次目标
- 在自己的电脑上装好 Python 3.13 和 VS Code
- 能用两种方式运行程序:VS Code 里点运行、终端里敲命令
- 走通一次完整的提交流程
- 亲眼看见「初值的微小差别会被放大」这件事
一、安装 Python
课程网站上放了一份 Python 3.13.15 的官方安装包。校园网连 python.org 时快时慢, 第一周九十分钟耗不起,直接从这里下载:
| 你的系统 | 下载 | 大小 |
|---|---|---|
| Windows(绝大多数) | python-3.13.15-amd64.exe | 28 MB |
| Windows on ARM(骁龙本) | python-3.13.15-arm64.exe | 27 MB |
| macOS(Intel 与 Apple Silicon 通用) | python-3.13.15-macos11.pkg | 69 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 下载安装。装完之后要装一个扩展:
- 点左侧栏的扩展图标(四个方块那个),或按
Ctrl+Shift+X(macOS 是Cmd+Shift+X) - 搜索
Python - 装微软官方那个(作者是 Microsoft,下载量最高的)
这个扩展提供语法高亮、错误提示、运行按钮和调试器。
三、写第一个程序
- 新建一个文件夹专门放这门课的代码。路径里不要有中文和空格——有些工具处理起来会出问题。比如
D:\cs1602或者~/cs1602。 - 在 VS Code 里 File → Open Folder,打开这个文件夹。
- 新建文件
hello.py,写进去:
print("Hello world")
- 点右上角的 ▶ 运行按钮。下方会弹出一个终端,显示
Hello world。
也用终端运行一次
VS Code 里的运行按钮很方便,但你应该知道它背后干了什么。
按 Ctrl+`(反引号,键盘左上角 Esc 下面那个键)打开终端,输入:
python hello.py
同样的输出。这才是运行 Python 程序的本来面目——运行按钮只是替你敲了这行命令。
四、五个小实验
环境装好之后,在交互式解释器里跑一遍下面五件事。终端里直接敲 python(或 python3)
就进去了,提示符是 >>>;退出敲 exit() 或按 Ctrl+D。
这五件事的答案要填到平台的「环境检查与第一次观察」那张答题卡里。 都是一行就能跑出来的,重点不是敲,是看结果和你想的一不一样。
- 两种引号。分别跑
print("上海交通大学")和print('上海交通大学'),比较输出。 - Python 的信条。跑
import this,读一遍。这是 Tim Peters 写的 19 条, Python 社区的审美纲领,往后这门课会不断回到它。 - 一个很大的数。算
2 ** 100。 - 两种除法。算
10 / 3和10 // 3。 - 一次加法。算
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 故意写错
分别制造下面三个错误,把完整的报错信息复制到答题卡里:
- 把
print拼成pirnt - 用中文全角括号
print("hello") - 字符串只写一半的引号
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。请对照两次的输出回答:
- 第 10 轮时,两个结果差多少?
- 第 25 轮时,两个结果差多少?
- 从第几轮开始,你已经看不出这两个序列有什么关系了?
B-3 同一个初值,两种写法
把循环里那一行换成下面这个,初值仍然输入 0.25:
x = 3.9 * x - 3.9 * x * x
3.9 * x * (1 - x) 和 3.9 * x - 3.9 * x * x 在数学上完全等价,你可以自己展开验证。
请回答:
- 两种写法跑出来的第 25 轮结果,一样吗?
- 从第几轮开始出现差别?
- 你觉得这是为什么?(猜一猜就行,答案在 L2 第四段)
C 段 · 基本功:第一次打开终端
将来你会在没有图形界面的服务器上跑程序,那时候只有终端。而且很多工具 (装库、版本管理、跑测试)本来就是命令行的。
四个命令
| 命令 | 作用 | 记法 |
|---|---|---|
pwd | 我现在在哪个目录 | print working directory |
ls | 列出当前目录里有什么 | list |
cd 目录名 | 进入某个目录 | change directory |
cd .. | 回到上一级目录 | .. 表示上一级 |
Windows 的 PowerShell 这四个都能用(ls 和 pwd 是别名)。
C-1 走一遍
在终端里依次完成,把每一步的命令和输出从终端复制出来,填进平台上的答题卡(不必截图):
pwd看看自己在哪cd到你放这门课代码的文件夹ls确认hello.py和chaos.py都在python hello.py跑一次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: python | macOS 上命令名不同 | 试 python3;或检查是否装到了别的位置 |
| VS Code 运行按钮是灰的 | 没装 Python 扩展 | 装微软官方的 Python 扩展 |
| VS Code 找不到解释器 | 没选解释器 | Ctrl+Shift+P → 输入 Python: Select Interpreter → 选 3.13 |
运行时报 can't open file | 终端当前目录不对 | pwd 看位置,cd 到文件所在目录 |
chaos.py 报 IndentationError | 循环里那两行没缩进 | 那两行前面各加四个空格 |
还是不行——举手叫助教,或者发到课程群里。发问的时候把完整报错截图贴上,说清你的系统版本。