Python 运算符用于决策

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,你将练习使用 Python 中的不同类型的运算符。具体来说,你将使用比较运算符、布尔运算符以及混合运算符。通过本实验,你将能够在 Python 代码中使用这些运算符来做出决策并执行计算。

目标

  • Python 比较运算符
  • Python 布尔运算符
  • Python 混合运算符

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/ControlFlowGroup -.-> python/while_loops("While Loops") subgraph Lab Skills python/numeric_types -.-> lab-90{{"Python 运算符用于决策"}} python/booleans -.-> lab-90{{"Python 运算符用于决策"}} python/conditional_statements -.-> lab-90{{"Python 运算符用于决策"}} python/for_loops -.-> lab-90{{"Python 运算符用于决策"}} python/while_loops -.-> lab-90{{"Python 运算符用于决策"}} end

比较运算符

在这一步中,你将学习如何在 Python 中使用比较运算符。比较运算符允许你比较两个值,并确定它们是否相等、大于或小于彼此。
首先,打开终端并启动 Python 解释器:

python3

然后,尝试使用以下比较运算符:

## 等于
print(1 == 1)  ## True
print(1 == 2)  ## False

## 不等于
print(1 != 1)  ## False
print(1 != 2)  ## True

## 大于
print(1 > 2)  ## False
print(2 > 1)  ## True

## 小于
print(1 < 2)  ## True
print(2 < 1)  ## False

## 大于或等于
print(1 >= 2)  ## False
print(2 >= 1)  ## True
print(1 >= 1)  ## True

## 小于或等于
print(1 <= 2)  ## True
print(2 <= 1)  ## False
print(1 <= 1)  ## True

你可以使用比较运算符来比较整数、浮点数和字符串。例如:

print(1.0 == 1)  ## True
print(1.5 > 1)  ## True
print("a" < "b")  ## True

尝试使用比较运算符来比较 Python 中的不同值。你能确定哪些值是相等的、大于或小于彼此吗?

布尔运算符

在这一步中,你将学习如何在 Python 中使用布尔运算符。布尔运算符允许你使用逻辑与(and)、逻辑或(or)和逻辑非(not)来组合多个比较。
首先,尝试使用以下布尔运算符:

## 逻辑与
print(True and True)  ## True
print(True and False)  ## False
print(False and True)  ## False
print(False and False)  ## False

## 逻辑或
print(True or True)  ## True
print(True or False)  ## True
print(False or True)  ## True
print(False or False)  ## False

## 逻辑非
print(not True)  ## False
print(not False)  ## True

你可以使用布尔运算符来组合多个比较并创建更复杂的条件。例如:

## 检查 x 是否大于 y 且 z 是否小于 y
x = 5
y = 10
z = 15
print(x > y and z < y)  ## False

## 检查 x 是否大于 y 或 z 是否小于 y
print(x > y or z < y)  ## True

## 检查 x 是否不等于 y
print(x != y)  ## True

尝试使用布尔运算符在 Python 中组合多个比较。你能创建评估为 True 或 False 的复杂条件吗?

混合运算符

在这一步中,你将学习如何在 Python 中使用混合运算符。混合运算符允许你结合比较运算符和布尔运算符,以创建更复杂的条件。
首先,尝试使用以下混合运算符:

## 检查 x 是否大于 y 且小于或等于 z
x = 5
y = 10
z = 15
print(y < x <= z)  ## True

## 检查 x 是否不大于 y 且不小于或等于 z
print(not (y < x <= z))  ## False

你可以使用混合运算符创建一些乍一看较难理解的条件。使用括号来明确表示运算顺序非常重要。

## 检查 x 是否大于 y 且(z 小于 y 或 z 等于 x)
x = 5
y = 10
z = 15
print(x > y and (z < y or z == x))  ## False

尝试使用混合运算符在 Python 中创建复杂条件。你能结合使用比较运算符和布尔运算符来创建准确反映你所需逻辑的条件吗?

海象运算符

海象运算符 := 是 Python 3.8 引入的新特性,它允许你在表达式中为变量赋值。该运算符的语法与赋值运算符 = 相同,但它出现在表达式的左侧。

以下是几个代码示例,展示如何使用海象运算符。

示例 1

## 使用海象运算符查找列表中的第一个偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
    if (even := num % 2 == 0):
        print(f"The first even number is: {even}")
        break

## 输出:
## The first even number is: True

此示例展示了如何使用海象运算符查找列表中的第一个偶数。列表 numbers 包含从 1 到 10 的整数。在 for 循环中,我们遍历 numbers 列表,并使用海象运算符 := 将表达式 num % 2 == 0 的结果赋值给变量 even。如果 evenTrue,则表示 num 是偶数。在这种情况下,if 语句被满足,并打印第一个偶数及一条消息。break 语句用于在找到第一个偶数时停止循环。

示例 2

## 在 while 循环中使用海象运算符
counter = 0
while (counter := counter + 1) <= 10:
    print(counter)

## 输出:
## 1
## 2
## ……
## 10

在此示例中,我们在 while 循环中使用海象运算符。变量 counter 初始化为 0,while 循环在 counter 小于或等于 10 时继续运行。在每次循环迭代中,海象运算符用于将 counter 的值增加 1。更新后的 counter 值随后用于下一次循环迭代。循环在每次迭代中打印 counter 的值,结果打印出数字 1 到 10。

示例 3

## 在列表推导式中使用海象运算符
squared_numbers = [num * num for num in range(10) if (even := num % 2 == 0)]
print(squared_numbers)

## 输出:
## [0, 4, 16, 36, 64]

在此示例中,我们在列表推导式中使用海象运算符。列表推导式用于创建从 0 到 9 的偶数的平方列表。列表推导式由两部分组成:表达式 num * num 和条件子句 if (even := num % 2 == 0)。表达式 num * num 计算循环中当前数字 num 的平方。条件子句使用海象运算符将表达式 num % 2 == 0 的结果赋值给变量 even。如果 evenTrue,则表示 num 是偶数,其平方被包含在列表 squared_numbers 中。列表推导式生成列表 [0, 4, 16, 36, 64]

需要注意的是,海象运算符适用于需要在表达式中赋值并多次使用该值的特定场景。它并非用于替代传统的赋值语句,建议谨慎使用以提高代码的可读性。

总结

在本实验中,你学习了如何在 Python 中使用比较运算符、布尔运算符和混合运算符。你可以使用这些运算符在代码中做出决策并执行计算。通过练习使用这些运算符,你将更加熟练地掌握它们。