CC++ & Algorithm

关系运算符——像裁判一样比较大小

简单3
语言版本:C++Python
概述:用大于、小于、等于等关系运算符,让Python判断两个数谁大谁小,结果总是“真”或“假”。

关系运算符——像裁判一样比较大小

体育课上,老师会拿尺子量身高: “小明比小红高吗?” 如果高,答案就是“对”;不高就是“错”。Python里的关系运算符就是这样的“裁判”,它比较两个数字,然后告诉我们“正确”或者“错误”。

关系运算符家族

Python 一共准备了六位“裁判”,每位裁判都有自己的“手势”,用来比较两个数字的大小关系。它们的结果只有两种:True(真,表示条件成立)或者 False(假,表示条件不成立)。

符号含义生活例子结果
>大于哥哥比弟弟高吗?如果高则为True
<小于弟弟比哥哥矮吗?如果矮则为True
>=大于等于你的零花钱够买10元的文具吗?如果零花钱≥10元则为True
<=小于等于今天的气温不超过30度吗?如果气温≤30度则为True
==等于考试分数刚好是100分吗?如果等于100则为True
!=不等于你的答案和参考答案不一样吗?如果不一样则为True

True 和 False——红绿灯一样简单

关系运算符算出的结果只有两种:TrueFalse。这就好比十字路口的红绿灯:绿灯亮表示“可以通过”(True),红灯亮表示“不能通过”(False)。在Python里,TrueFalse 是一种特殊的数据类型,叫 布尔类型(bool),专门用来表示“真”和“假”。

生活中的比较

例1:零花钱够买零食吗?

假设你每个星期有20元零花钱,一包薯片要15元,你能买吗?用 >=(大于等于)就能判断:20 >= 15 成立,结果就是 True,说明钱够用。如果薯片涨价到25元,20 >= 25 就不成立了,结果变成 False,表示钱不够。

例2:考试是否及格?

期末考试你考了88分,及格线是60分。用 >= 判断:88 >= 60 的结果是 True,说明你及格了。如果只考了55分,55 >= 60 就是 False,表示不及格。

例3:两个人的身高一样吗?

小明身高140厘米,小刚也是140厘米,用 == 判断:小明身高 == 小刚身高 结果是 True,说明一样高。如果小明比小刚高,那 == 的结果就是 False,而用 !=(不等于)判断就会得到 True

下面是一段包含多种比较的代码,你可以亲自运行看看:

my_money = 20                    # 我的零花钱
ice_cream_price = 15             # 冰淇淋价格
print("钱够买冰激凌吗?", my_money >= ice_cream_price)  # True

player_score = 88                # 玩家分数
pass_score = 60                  # 及格分数
print("是否及格?", player_score >= pass_score)  # True

a = 10                           # 第一个数
b = 10                           # 第二个数
print("a 等于 b?", a == b)      # True
print("a 不等于 b?", a != b)    # False

my_age = 12                      # 我的年龄
friend_age = 10                  # 朋友年龄
print("我比朋友大?", my_age > friend_age)    # True
print("朋友比我大?", friend_age > my_age)    # False

新手最容易犯的错

1. 把“等于”写成一个等号

写代码时经常有人把 ==(判断相等)写成 =(赋值)。比如:

# 错误写法
if score = 100:   # 这里会报错!因为 = 是把 100 赋值给 score
    print("满分!")

# 正确写法
if score == 100:
    print("满分!")

记住:一个等号是“送”,两个等号是“问”x = 5 是把5送给x;x == 5 是问“x是不是等于5?”。

2. 忘记关系运算符的结果是布尔值

有些同学会写成 print(5 > 3是True吗?),但Python不认识这种问句。你只需要把比较式放在后面,Python会自动算出TrueFalse,比如 print(5 > 3) 就会直接显示 True

3. 比较不同类型的数据

虽然关系运算符主要用来比较数字,但偶尔也会比较字符串、列表等。不过对初学者来说,最好先用数字练习,避免出现“苹果比香蕉大”这种奇怪的问题。

完整示例:一周零花钱计划

假设你每周有20元,你想买一个35元的玩具和一瓶5元的饮料。下面代码会判断你的钱分别够不够:

my_money = 20                    # 我的零花钱
toy_price = 35                   # 玩具价格
drink_price = 5                  # 饮料价格

# 判断钱够不够买玩具
print("买玩具够吗?", my_money >= toy_price)   # False,因为20<35

# 判断钱够不够买饮料
print("买饮料够吗?", my_money >= drink_price) # True,因为20>5

# 判断玩具和饮料哪个更贵
print("玩具比饮料贵吗?", toy_price > drink_price)  # True

# 判断玩具和饮料价格是否相等
print("价格相等吗?", toy_price == drink_price)  # False

相关知识点指引

关系运算符经常和后面要学的 条件判断语句ifelifelse)搭配使用。比如:

score = 85
if score >= 60:
    print("恭喜你,及格了!")
else:
    print("不要灰心,下次努力!")

学会了关系运算符,你就掌握了让Python程序“做决策”的基础。接下来可以学习 逻辑运算符andornot),它能让你同时比较多个条件,比如“零花钱大于10元并且小于20元”。快去试试吧!

例题精讲

1单选题

在Python中,表达式 3 < 5 < 8 的结果是什么?

ATrue
BFalse
C语法错误
D5
2判断题

表达式 5 >= 5 的结果为 True。

3填空题
x = 7
y = 7
if x ___ y:
    print("相等")
4单选题

下列哪个表达式的结果为 False?

A10 > 5
B3 != 2
C4 <= 4
D1 == 2
5判断题

表达式 10 >= 10 和 10 <= 10 的结果都是 True。