学径 LearnPath

运算

1 / 1 · ← → 翻页

阅读模式

第 3 课

运算

计算机的核心能力正是运算。

差分机
巴贝奇差分机的现代复刻。来源:Wikimedia Commons。

导言

课程目标

加减乘除与括号。

精度、除零与 try / except。

整除、幂与布尔运算。

原理

先乘除,后加减

python
result = 2 + 3 * 4
print(result)  # 14

result = (2 + 3) * 4
print(result)  # 20
  • 括号改变顺序

例证

换算里的括号

C=(F−32)×59C = (F - 32) \times \frac{5}{9}
python
fahrenheit = 68
celsius = (fahrenheit - 32) * 5 / 9
print(celsius)

辨析

多层括号一律用 ()

python
# 对应 [(3 + 2) × 4] ÷ 2
result = ((3 + 2) * 4) / 2
print(result)  # 10.0
  • 不用 [] / {} 分层

对照数学里的 []、{}:Python 里它们另有用途。

现象

数学上相等,打印却不同

python
a = 1 / 3
b = 1 - 2 / 3
print(a)
print(b)
  • 常见:尾巴略有差别

现象

0.1 + 0.2 也不干净

python
sum_ab = 0.1 + 0.2
print(sum_ab)
  • 常见输出:0.30000000000000004

原理

精度从何而来

有限位二进制存储。

无限小数只能截断或舍入。

尽量少用浮点;无法避免就考虑精度。

现象

除数为零

python
result = 1 / 0
print(result)
  • ZeroDivisionError
  • 程序在该行停下

例证

用 try / except 接住

python
try:
    result = 1 / 0
    print(result)
except ZeroDivisionError:
    result = 0
    print('除数为0,将result强行设定为0')
  • : 开启结构
  • 缩进表示层级

强调:冒号开头,内部缩进 4 个空格。

原理

整除与余数

python
quotient = 17 // 5
remainder = 17 % 5
print(quotient, remainder)  # 3 2
  • 17=5×3+217 = 5\times 3 + 2

例证

时间换算

python
total_seconds = 125
minutes = total_seconds // 60
seconds = total_seconds % 60
print(minutes, seconds)  # 2 5
  • 排座、分页同理

原理

幂运算 **

python
cube = 2 ** 3
print(cube)  # 8

root = 9 ** 0.5
print(root)  # 3.0
  • 指数可为负或小数

辨析

结果可能是复数

python
imaginary = (-1) ** 0.5
print(imaginary)
  • 离开实数域时给出复数
  • 实部可能带着精度尾巴

原理

比较得到真假

python
score = 85
print(score > 60)  # True
result = score <= 60
print(result)  # False
  • < > <= >= == !=

辨析

一个等号还是两个

python
threshold = 0
is_zero = threshold == 0
print(is_zero)
  • = 赋值
  • == 判断相等

先问:哪一个在赋值,哪一个在提问?

例证

and / or / not

python
temp = 22
in_range = temp > 0 and temp < 30
extreme = temp < 0 or temp > 35
nonzero = not (temp == 0)
print(in_range, extreme, nonzero)
  • 组合多个真假判断

实践

本节练习

250 克试剂,每瓶 60 克。

用 // 与 % 求满瓶和剩余。

再用 == 看剩余是否为 0。

请打开「在线 IDE」。

小结

本节要点

运算规则不完全等于数学。

看见精度与除零。

= 与 == 不是一事。

下一课

下一课

真假如何变成路径。

选择结构:在分岔处写下判断。

已到最后一页。可按 ← 回顾,或切换回阅读模式。