当前位置:首页>python>别让代码“算”计了你:Python运算符的规矩与魔法

别让代码“算”计了你:Python运算符的规矩与魔法

  • 2026-09-07 18:39:30
别让代码“算”计了你:Python运算符的规矩与魔法

Python

运算符

规矩与魔法

不只是加减乘除

上一回咱们聊了数字和字符串的“爱恨情仇”,学会了怎么处理文本,也懂得了怎么计算BMI。但你有没有想过,电脑到底是怎么理解1 + 1的?它为什么知道先算乘除后算加减?

今天,咱们就来聊聊Python里的“交通规则”——运算符。这玩意儿看起来枯燥,但其实全是“规矩”和“魔法”。

算术运算符:不只是加减乘除

Python里的算术运算符,就是咱们数学里的老朋友,但又有点不一样。

  • +、-、*、/:这四个不用多说,加减乘除,小学生都会。

  • //:这个叫“地板除”,它会把结果的小数部分直接“扔掉”,只留整数。比如 7 // 2,结果就是 3。

  • %:这个叫“取模”,就是求余数。比如 7 % 2,结果就是 1。

  • **:这个叫“幂运算”,就是求几次方。比如 2 ** 3,结果就是 8。

啥是水仙花数?它是一个三位数,它的每一位的立方和,刚好等于它自己。比如153,13+53+33=153.

代码示例:

num = int(input("请输入一个三位数:"))

# 获取百位、十位、个位

bai = num // 100

shi = (num // 10) % mitm10

ge = num % 10

# 判断是否为水仙花数

if bai**3 + shi**3 + ge**3 == num:

    print(f"{num}是水仙花数!")

else:

    print(f"{num}不是水仙花数。")

代码解析:

这里用到了//和%来“拆解”数字。//100拿到百位,%10拿到个位,中间的十位稍微绕个弯,先//10去掉个位,再%10拿到十位。

比较与逻辑运算符:代码的“是非观”

2023已经步入尾声,在过去的一年里,我们携手同行,取得了优异的成绩,在新的一年,我们要接续奋斗,一起创造新的辉煌!

代码也需要判断对错,这就用到了比较运算符和逻辑运算符。

  • 比较运算符:==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。它们的“嘴巴”总是朝着大的那边张开。

  • 逻辑运算符:and(与)、or(或)、not(非)。它们就像是电路里的开关。

    and:两边都得是True,结果才是True。

    or:两边只要有一个是True,结果就是True。

    not:把结果反过来,True变False,False变True。

趣味实战:找出三个数里的“大哥”

给定三个数,找出最大的那个。

代码示例:

a = float(input("输入第一个数:"))

b = float(input("输入第二个数:"))

c = float(input("输入第三个数:"))

max_num = a

if b > max_num:

    max_num = b

if c > max_num:

    max_num = c

print(f"最大的数是:{max_num}")

位运算符:二进制的“位”面之交

这部分是进阶内容,也是很多同学觉得“难搞”的地方。别怕,咱们把它想成是二进制的“开关游戏”。

  • << (左移):所有的二进制位向左移动,右边补0。相当于乘以2的n次方。

  • >> (右移):所有的二进制位向右移动,左边补0(正数)或1(负数)。相当于除以2的n次方。

  • & (按位与):两个都是1,结果才是1。

  • | (按位或):两个只要有一个是1,结果就是1。

  • ^ (按位异或):两个不一样,结果才是1。

  • ~ (按位取反):0变1,1变0。

运算符优先级:谁是老大?

当一个表达式里有好多运算符的时候,谁先算,谁后算?这就得看优先级了。

简单记一句口诀:括号 > 幂运算 > 算术运算 > 位运算 > 比较运算 > 逻辑运算。

当然,为了代码的可读性,建议大家多用括号(),把想先算的部分括起来,这样既清晰又不容易出错。

总结

今天的课程,我们从简单的加减乘除,聊到了复杂的位运算,还用代码验证了“水仙花数”和“找最大值”。Python的运算符就像是魔法咒语,掌握了它们的规则,你就能指挥电脑帮你解决各种复杂的数学问题。

记住,编程里的“规矩”(优先级)很重要,但动手“实践”更重要。课后作业记得做哦,书本31页的3、4大题,等着你们去挑战!

【没有规矩,不成方圆】

《汉书·礼乐志》

最新文章

随机文章