Python 比较运算符
比较运算符是编程中的基础工具,它允许我们比较不同的值,并根据比较的结果做出决策。
在本章中,我们将探索 Python 中可用的各种比较运算符,以及如何有效地将它们应用于条件语句中,以控制程序的执行流程。
1. 理解比较运算符
比较运算符用于比较两个值。比较操作的结果永远是一个布尔值(Boolean):要么是 True(真),要么是 False(假)。这些运算符通常用于条件语句中(比如 if、elif 和 else),以决定应该执行哪一块代码。
以下是 Python 中比较运算符的快速解析:
- 等于 (
==):检查两个值是否相等。 - 不等于 (
!=):检查两个值是否不相等。 - 大于 (
>):检查左边的值是否大于右边的值。 - 小于 (
<):检查左边的值是否小于右边的值。 - 大于或等于 (
>=):检查左边的值是否大于或等于右边的值。 - 小于或等于 (
<=):检查左边的值是否小于或等于右边的值。
1.1 等于 (==)
== 运算符用于检查两个值是否相等。注意: 请务必将其与赋值运算符(=)区分开来,= 是用来将一个值赋给变量的。
x = 5
y = 10
print(x == y) # 输出: False
print(x == 5) # 输出: True
name1 = "Alice"
name2 = "Bob"
print(name1 == name2) # 输出: False
print(name1 == "Alice") # 输出: True在第一个例子中,x == y 的结果是 False,因为 5 不等于 10。在第二个例子中,x == 5 的结果是 True,因为 x 的值确实是 5。同样的逻辑也适用于字符串比较。
1.2 不等于 (!=)
!= 运算符用于检查两个值是否不相等。
x = 5
y = 10
print(x != y) # 输出: True
print(x != 5) # 输出: False
fruit1 = "apple"
fruit2 = "banana"
print(fruit1 != fruit2) # 输出: True
print(fruit1 != "apple") # 输出: False在这里,x != y 是 True,因为 5 确实不等于 10。相反,x != 5 是 False,因为 x 等于 5。
1.3 大于 (>)
> 运算符检查左边的操作数是否大于右边的操作数。
x = 15
y = 10
print(x > y) # 输出: True
print(y > x) # 输出: False
temperature1 = 25
temperature2 = 20
print(temperature1 > temperature2) # 输出: True
print(temperature2 > temperature1) # 输出: Falsex > y 为 True,因为 15 大于 10;而 y > x 为 False,因为 10 不大于 15。
1.4 小于 (<)
< 运算符检查左边的操作数是否小于右边的操作数。
x = 5
y = 10
print(x < y) # 输出: True
print(y < x) # 输出: False
age1 = 18
age2 = 21
print(age1 < age2) # 输出: True
print(age2 < age1) # 输出: Falsex < y 为 True,因为 5 小于 10;而 y < x 为 False,因为 10 不小于 5。
1.5 大于等于 (>=)
>= 运算符检查左边的操作数是否大于或等于右边的操作数。
x = 10
y = 10
z = 5
print(x >= y) # 输出: True
print(x >= z) # 输出: True
print(z >= x) # 输出: False
score1 = 75
score2 = 75
score3 = 60
print(score1 >= score2) # 输出: True
print(score1 >= score3) # 输出: True
print(score3 >= score1) # 输出: Falsex >= y 为 True,因为 10 等于 10。x >= z 也为 True,因为 10 大于 5。z >= x 为 False,因为 5 既不大于也不等于 10。
1.6 小于等于 (<=)
<= 运算符检查左边的操作数是否小于或等于右边的操作数。
x = 5
y = 5
z = 10
print(x <= y) # 输出: True
print(x <= z) # 输出: True
print(z <= x) # 输出: False
quantity1 = 3
quantity2 = 3
quantity3 = 5
print(quantity1 <= quantity2) # 输出: True
print(quantity1 <= quantity3) # 输出: True
print(quantity3 <= quantity1) # 输出: Falsex <= y 为 True,因为 5 等于 5。x <= z 也为 True,因为 5 小于 10。z <= x 为 False,因为 10 既不小于也不等于 5。
2. 在条件语句中使用比较运算符
比较运算符最常用于条件语句中(if、elif、else),以便根据条件是真还是假来控制代码的执行流程。
2.1 if 语句
if 语句仅在指定条件为 True 时,才会执行其内部的代码块。
age = 20
if age >= 18:
print("你有资格投票。")
temperature = 30
if temperature > 25:
print("今天天气很热!")在第一个例子中,因为条件 age >= 18 为真,所以打印出了消息 "你有资格投票。"。在第二个例子中,因为 temperature > 25 为真,所以打印了 "今天天气很热!"。
2.2 else 语句
else 语句提供了一个备用的代码块。如果 if 的条件为 False,程序就会执行 else 里面的代码。
age = 16
if age >= 18:
print("你有资格投票。")
else:
print("你还没有资格投票。")
temperature = 20
if temperature > 25:
print("今天天气很热!")
else:
print("今天不太热。")在这里,因为 age >= 18 是假(16 不大于或等于 18),所以执行了 else 代码块,打印出 "你还没有资格投票。"。同理,因为 temperature > 25 为假,else 代码块被执行,打印出 "今天不太热。"。
2.3 elif 语句
elif("else if" 的简写)语句允许你按顺序检查多个条件。它为你提供了一种处理更复杂决策场景的方法。
score = 75
if score >= 90:
print("优秀!")
elif score >= 70:
print("做得好!")
elif score >= 50:
print("你及格了。")
else:
print("你不及格。")
grade = 85
if grade >= 90:
print("A")
elif grade >= 80:
print("B")
elif grade >= 70:
print("C")
else:
print("D")在第一个例子中,if 的条件 score >= 90 为假,所以程序向下移动到第一个 elif 条件 score >= 70,这个条件为真。因此,打印出 "做得好!"。剩下的 elif 和 else 代码块将被直接跳过。在第二个例子中,同样因为第一个条件为假,程序匹配到了 grade >= 80 为真,从而打印出 "B"。
3. 实际案例与演示
让我们通过一些实际的例子,看看在真实场景中如何运用比较运算符和条件语句。
3.1 案例 1:检查用户输入
这个例子演示了如何验证用户输入,以确保它符合特定标准。
username = input("请输入你的用户名:")
if username == "":
print("用户名不能为空。")
else:
print("用户名有效。")
password = input("请输入你的密码:")
if len(password) < 8:
print("密码长度必须至少为 8 个字符。")
else:
print("密码有效。")这段代码提示你输入用户名和密码。然后,它使用比较运算符来检查用户名是否为空,以及密码是否至少有 8 个字符(len() 函数用于获取长度)。根据检查结果,程序会显示相应的提示信息。
3.2 案例 2:判断两个数字中的较大值
这个例子展示了如何使用比较运算符找出两个数字中较大的那一个。
num1 = 10
num2 = 20
if num1 > num2:
print("num1 大于 num2")
elif num2 > num1:
print("num2 大于 num1")
else:
print("num1 和 num2 相等")在这种情况下,num2 大于 num1,所以输出结果将是 "num2 大于 num1"。
3.3 案例 3:检查数字是否在指定范围内
这个例子演示了如何使用比较运算符来检查一个数字是否落在特定的范围内。
number = 45
if number >= 0 and number <= 100:
print("该数字在 0 到 100 的范围内。")
else:
print("该数字超出了 0 到 100 的范围。")在这里,代码检查 number 是否既大于等于 0,又小于等于 100。因为 45 在这个范围内,所以输出将是 "该数字在 0 到 100 的范围内。"。(注意:这里的 and 是一个逻辑运算符,我们将在以后的课程中详细讲解,但在这里它被用来组合两个比较操作。)