算术运算
用加减乘除这些符号,让电脑帮你算数。
它是什么
算术运算 用来算数。
Python 的符号和数学课差不多。
乘号必须写成 *。
因为键盘上通常没有 ×。
程序不只会说话。 它还会当计算器。 把步骤写清楚,它就算得又快又稳。
名字从哪来
算术的英文 arithmetic,来自古希腊语,和「数」有关。 加号减号在数学史上出现得很早。 乘号曾经写成点、叉,或直接把字母并在一起。
电脑键盘从英文打字机来。
没有 × 和 ÷,大家就选用 * 和 /。
这个习惯在 C 语言家族里很常见,Python 跟着用。
整除 // 和取余 % 更是编程里的常用工具。
% 在数学里有时表示百分号。
在 Python 算术里,它表示「除完还剩多少」。
乘方可以用 **,也可以用内置函数 pow。
详见 内置函数。
它怎么工作
| 符号 | 意思 | 例子 | 结果 |
|---|---|---|---|
+ | 加 | 2 + 3 | 5 |
- | 减 | 7 - 4 | 3 |
* | 乘 | 3 * 4 | 12 |
/ | 除 | 7 / 2 | 3.5 |
// | 整除 | 7 // 2 | 3 |
% | 取余 | 7 % 2 | 1 |
** | 乘方 | 2 ** 3 | 8 |
普通除法 / 可以出小数。
在 Python 3 里,即使 8 / 2,结果也是小数 4.0。
整除 // 只要整数商。
取余 % 只要剩下的。
分糖果:
candy = 12
kids = 5
print(candy // kids) # 每人 2 颗
print(candy % kids) # 剩下 2 颗检查:商 × 除数 + 余数 = 原来的数。
2 * 5 + 2 等于 12。
数字的类型见 数据类型。
整数是 int,小数是 float。
运算顺序见 优先级。 先乘除,后加减。 括号最优先。
print(3 + 2 * 4) # 11
print((3 + 2) * 4) # 20整除和取余常常成对出现。
分小组、排座位、判断单双,都靠 %。
偶数:n % 2 == 0。
奇数:n % 2 == 1。
不能除以 0。 数学上不行,程序也会报错。
生活里在哪里
- 分零食:12 颗糖分给 5 人,每人几颗、剩几颗。
- 买东西找零:应付多少、实付多少、剩下多少。
- 把全班分成 4 组:用整除看每组几人,用取余看多出来的人。
- 电梯楼层、座位号:有时用余数判断单双侧。
- 游戏伤害:生命值减去伤害,不能减出「没有定义」的数。
天气预报、体育场均得分,也常先加算术后再平均。 平均是总数除以个数,算术是它的零件。
和相近概念的差别
算术算的是数。
字符串 的 + 是拼接,* 是重复,不是数学课上的加和乘。
print(3 + 1)
print("3" + "1")
print("哈" * 3)比较运算不算出一个更大的数,只给出真或假。 见 比较运算。
优先级不是一种新运算。 它是「几种运算挤在一行时,谁先算」的规矩。
+ 出现在文字和数字之间,常常要先 类型转换。
否则会变成 TypeError。
常见误会
误会 1:乘号写成 x 或 ×。
必须写 *。
误会 2:/ 和 // 是一回事。
7 / 2 是 3.5。
7 // 2 是 3。
误会 3:% 表示百分数。
在算术表达式里,它是取余。 百分数要自己除以 100。
误会 4:用字符串去乘除。
类型不对。 先转换。
误会 5:忘记检查整除。
商 × 除数 + 余数,应等于原来的数。 对不上,就说明写错了。
想知道更多
- 书:潘洪波《小学生 Python 趣味编程》(用分东西、算账这类生活题练运算符号)。
- 书:埃里克·马瑟斯《Python 编程:从入门到实践》(数字一章把加减乘除和整除讲得很清楚,可和家长一起做几道)。
未登录时不会保存学习进度