学径 LearnPath

CAICP-E · Python 编程基础 / Wiki

算术运算

用加减乘除这些符号,让电脑帮你算数。

它是什么

算术运算 用来算数。 Python 的符号和数学课差不多。 乘号必须写成 *。 因为键盘上通常没有 ×

程序不只会说话。 它还会当计算器。 把步骤写清楚,它就算得又快又稳。

名字从哪来

算术的英文 arithmetic,来自古希腊语,和「数」有关。 加号减号在数学史上出现得很早。 乘号曾经写成点、叉,或直接把字母并在一起。

电脑键盘从英文打字机来。 没有 ×÷,大家就选用 */。 这个习惯在 C 语言家族里很常见,Python 跟着用。

整除 // 和取余 % 更是编程里的常用工具。 % 在数学里有时表示百分号。 在 Python 算术里,它表示「除完还剩多少」。

乘方可以用 **,也可以用内置函数 pow。 详见 内置函数

它怎么工作

符号意思例子结果
+2 + 35
-7 - 43
*3 * 412
/7 / 23.5
//整除7 // 23
%取余7 % 21
**乘方2 ** 38

普通除法 / 可以出小数。 在 Python 3 里,即使 8 / 2,结果也是小数 4.0。 整除 // 只要整数商。 取余 % 只要剩下的。

分糖果:

python
candy = 12
kids = 5
print(candy // kids)  # 每人 2 颗
print(candy % kids)   # 剩下 2 颗

检查:商 × 除数 + 余数 = 原来的数。 2 * 5 + 2 等于 12

数字的类型见 数据类型。 整数是 int,小数是 float

运算顺序见 优先级。 先乘除,后加减。 括号最优先。

python
print(3 + 2 * 4)      # 11
print((3 + 2) * 4)    # 20

整除和取余常常成对出现。 分小组、排座位、判断单双,都靠 %。 偶数:n % 2 == 0。 奇数:n % 2 == 1

不能除以 0。 数学上不行,程序也会报错。

生活里在哪里

  • 分零食:12 颗糖分给 5 人,每人几颗、剩几颗。
  • 买东西找零:应付多少、实付多少、剩下多少。
  • 把全班分成 4 组:用整除看每组几人,用取余看多出来的人。
  • 电梯楼层、座位号:有时用余数判断单双侧。
  • 游戏伤害:生命值减去伤害,不能减出「没有定义」的数。

天气预报、体育场均得分,也常先加算术后再平均。 平均是总数除以个数,算术是它的零件。

和相近概念的差别

算术算的是数。 字符串+ 是拼接,* 是重复,不是数学课上的加和乘。

python
print(3 + 1)
print("3" + "1")
print("哈" * 3)

比较运算不算出一个更大的数,只给出真或假。 见 比较运算

优先级不是一种新运算。 它是「几种运算挤在一行时,谁先算」的规矩。

+ 出现在文字和数字之间,常常要先 类型转换。 否则会变成 TypeError

常见误会

误会 1:乘号写成 x×

必须写 *

误会 2:/// 是一回事。

7 / 23.57 // 23

误会 3:% 表示百分数。

在算术表达式里,它是取余。 百分数要自己除以 100。

误会 4:用字符串去乘除。

类型不对。 先转换。

误会 5:忘记检查整除。

商 × 除数 + 余数,应等于原来的数。 对不上,就说明写错了。

想知道更多

  • 书:潘洪波《小学生 Python 趣味编程》(用分东西、算账这类生活题练运算符号)。
  • 书:埃里克·马瑟斯《Python 编程:从入门到实践》(数字一章把加减乘除和整除讲得很清楚,可和家长一起做几道)。

未登录时不会保存学习进度