CC++ & Algorithm

算术运算符——让计算机帮你算数

简单7
语言版本:C++Python
概述:用生活中的加、减、乘、除、取整、取余和幂运算,教小朋友用Python像算盘一样计算。

用Python当你的计算器——算术运算符详解

小朋友们,你们一定用过计算器算数学题吧?Python里也有一套“计算器”——算术运算符。它们就像工具箱里的锤子、螺丝刀,每个都有不同的用途。有了它们,你就能让计算机帮你快速完成加减乘除等各种计算,还能解决生活中分东西、算零花钱等小问题!


1. 基本四则运算:加、减、乘、除

Python里的加、减、乘、除和数学课本上几乎一样:

  • 加法 +:把两个数加起来。
    比如:5 + 3 结果是 8
    生活例子:你口袋里有5元零花钱,妈妈又给了你3元,你现在有 5 + 3 = 8 元。

  • 减法 -:从一个数里去掉另一个数。
    比如:9 - 4 结果是 5
    生活例子:你买了9个包子,吃了4个,还剩下 9 - 4 = 5 个。

  • 乘法 *:多个相同数相加的简便方法。
    比如:2 * 6 结果是 12
    生活例子:班里每个同学有2支铅笔,6个同学一共有 2 * 6 = 12 支铅笔。

  • 除法 /:把一个数平均分成几份。
    比如:8 / 2 结果是 4.0。注意:除法总是返回小数(浮点数),即使能除尽,结果也会带 .0
    生活例子:8个苹果平均分给2个小朋友,每人 8 / 2 = 4.0 个。因为计算机里用小数表示更精确。

为什么除法结果是小数?
Python为了让计算结果更准确,默认除法返回浮点数。如果你只想得到整数(比如分东西不能分半个),就要用下面两种特殊的除法。


2. 整数除法 // 和取余数 %:分东西的好帮手

分糖果、排队时,经常遇到“分不完”的情况。Python提供了两个专门解决这类问题的运算符:

  • 整数除法(地板除)//:只保留整数部分,丢掉余数。
    比如:7 // 3 结果是 2。因为7除以3等于2余1,只取整数部分2。
    生活例子:7块糖分给3个小朋友,每人先拿整数块,最多每人 7 // 3 = 2 块。

  • 取余数(模运算)%:得到整除后的余数。
    比如:7 % 3 结果是 1。因为7除以3,余数是1。
    生活例子:10块糖分给3个小朋友,每人3块,还剩 10 % 3 = 1 块。这个“剩下的”就是余数。

小练习

  • 9块饼干分给4个人,每人几块?剩几块?
    9 // 4 = 29 % 4 = 1。每人2块,剩1块。

注意:整数除法 // 和取余 % 通常一起使用,比如算总人数、排队问题。


3. 幂运算 **:快速计算乘方

幂运算就是“几次方”,比如2的3次方是 2 * 2 * 2 = 8。Python用 ** 表示:
2 ** 3 结果是 8
生活例子

  • 一个正方形边长是5厘米,面积是 5 ** 2 = 25 平方厘米。
  • 一个正方体的体积是 3 ** 3 = 27 立方厘米(边长为3厘米)。
  • 游戏里,每次攻击力翻倍,初始攻击力是3,第4次攻击后的攻击力是 3 ** 4 = 81

注意** 的优先级比乘除高,比如 2 * 3 ** 2 先算 3 ** 2 = 9,再算 2 * 9 = 18


4. 运算优先级:先算谁?

和数学课一样,Python也有运算顺序规则(优先级):

  1. 括号 () 最优先
  2. 幂运算 **
  3. *、除 /、整数除 //、取余 %
  4. +、减 -

如果相同优先级,从左向右算。

例子2 + 3 * 4 结果是 14(先乘后加)。
如果想先加,要用括号:(2 + 3) * 4 = 20

生活例子

  • 计算总价:买3个5元的玩具和1个10元的书包,总价是 3 * 5 + 10 = 25 元。
  • 如果先算加法(想成3个玩具加书包的总数量?不对),加括号 3 * (5 + 10) 就变成了3个(玩具+书包)的钱,那是45元,完全不一样。

5. 新手容易犯的错误

错误1:除以零
任何数除以0在数学上都没意义,Python会报错:
10 / 0 会显示 ZeroDivisionError: division by zero
解决办法:永远不要用0做除数。

错误2:混淆整数除法和普通除法

  • 7 / 3 得到小数 2.333...
  • 7 // 3 得到整数 2
    如果你想要整数结果却用了 /,可能得到带小数点的数,影响后续计算。比如分糖果时,每人 7 / 3 = 2.333 块不合理,应该用 //

错误3:忘记运算顺序
3 + 4 * 2 等于 11,而不是 14。很多小朋友会错算成 (3+4)*2=14,因为心里先算了加法。一定要记住先乘除后加减。

错误4:浮点数比较时的细微误差
0.1 + 0.2 的结果并不是 0.3,而是 0.30000000000000004。这是因为计算机用二进制表示小数会有微小误差。如果要做精确比较(比如金额),可以四舍五入或用其他方法。不过初学阶段暂时不用太担心,了解就好。


6. 完整示例:帮小明算零花钱和分零食

下面是一个完整的Python程序,用到了所有算术运算符,并带中文注释:

# 小明的零花钱和零食分配
total_money = 20       # 总零花钱20元
cookie_price = 3       # 每个饼干3元
candy_price = 1        # 每个糖果1元

# 先买5个饼干:总花费
cookie_cost = cookie_price * 5   # 3*5=15元
print("买5个饼干花了:", cookie_cost, "元")

# 剩下的钱买糖果
left_money = total_money - cookie_cost  # 20-15=5元
candy_count = left_money // candy_price  # 5//1=5个糖果
left_cent = left_money % candy_price     # 5%1=0,刚好花完
print("剩余", left_money, "元,可以买", candy_count, "个糖果,还剩", left_cent, "元")

# 如果每个小朋友分2个饼干,25个饼干可以分给多少人?
cookies_total = 25       # 总共有25个饼干
kids = cookies_total // 2   # 25//2=12个小朋友,每人2块
remainder = cookies_total % 2  # 25%2=1块,剩下1块
print("25块饼干每人分2块,可以分给", kids, "个小朋友,还剩", remainder, "块")

# 幂运算:边长5厘米的正方形面积和体积
side = 5
area = side ** 2      # 5的2次方=25
volume = side ** 3    # 5的3次方=125
print("边长5厘米的正方形面积是", area, "平方厘米,体积是", volume, "立方厘米")

运行这段代码,你会得到:

买5个饼干花了: 15 元
剩余 5 元,可以买 5 个糖果,还剩 0 元
25块饼干每人分2块,可以分给 12 个小朋友,还剩 1 块
边长5厘米的正方形面积是 25 平方厘米,体积是 125 立方厘米

7. 相关知识点指引

学完算术运算符,你可以继续探索:

  • 变量:像 total_money = 20 这样给数据起名字,让代码更易读。
  • 输入输出:用 input() 让用户输入数字,print() 显示结果,做出互动程序。
  • 比较运算符:比如 ><==,可以用来判断谁多谁少。
  • 字符串运算:字符串也能用 + 拼接,比如 "你好" + "世界" 得到 "你好世界",但和数学加法不同哦。
  • 复杂表达式:把多个运算符组合起来,解决更高级的问题,比如计算考试总分、平均分、最大最小值等。

试试用今天学的运算符,计算你一周的零花钱总和、班级人数分座位等小问题吧!

例题精讲

1单选题

在Python中,执行 `print(10 // 3)` 会输出什么?

A3.3333...
B3
C3.0
D1
2判断题

在Python中,表达式 `2 ** 3` 的计算结果是8。

3填空题
请计算表达式的值,并填入下划线处:`print(3 + 2 * 4)` 的输出结果是 ___
4单选题

在Python中,执行 `print(type(7 / 2))` 会输出什么?

A<class 'int'>
B<class 'float'>
C<class 'str'>
D<class 'bool'>
5判断题

在Python中,模运算符 `%` 只能用于整数类型。