Python中IF语句的多条件检查


编写程序时,通常需要检查多个条件才能确定合适的行动方案。在 Python 中,"if" 语句用于在特定条件为 True 时执行代码块。但是,在许多情况下,我们需要一次检查多个条件,这可以通过使用逻辑运算符、括号和其他工具来实现。

在本文中,我们将探讨使用 Python 在 "if" 语句中检查多个条件的几种技术。我们将讨论使用逻辑运算符 and、or 和 not,以及使用括号将条件组合在一起。我们还将介绍使用 "in" 和 "not in" 关键字检查项目是否在列表或字符串中,以及使用 if-elif-else 语句顺序检查多个条件。

阅读完本文后,您应该对在 Python 的 if 语句中检查多个条件的各种方法有扎实的理解。无论您是初学者还是经验丰富的开发者,理解这些技术将帮助您编写更有效率的代码。所以,让我们深入探讨 Python 中多条件检查的世界吧!

Python 中的基本 If 语句

Python 中 "if" 语句的基本语法是:

if condition:
   # code to execute if condition is true

"if" 语句中的条件可以是任何计算结果为布尔值(True 或 False)的表达式。如果条件为 True,则将执行 if 语句后的代码块。如果条件为 False,则将跳过代码块。

这是一个 Python 中简单 if 语句的示例:

x = 5
if x > 0:
   print("x is positive")

在这个例子中,我们检查 x 的值是否大于 0。如果条件为真,它将打印字符串 "x is positive"。

x is positive

使用逻辑运算符检查多个条件

有时我们需要同时检查多个条件。在 Python 中,我们可以使用逻辑运算符将多个条件组合到 if 语句中。

Python 中的三个逻辑运算符是:

  • and - 如果两个条件都为 True,则返回 True

  • or - 如果至少一个条件为 True,则返回 True

  • not - 返回条件的反义

让我们看一些例子。

示例 1

在这个例子中,我们检查 x 和 y 是否都大于 0。如果两个条件都为真,我们打印字符串 "Both x and y are positive"。

x = 5
y = 10
if x > 0 and y > 0:
   print("Both x and y are positive")

输出

它将产生以下输出:

Both x and y are positive

示例 2

在这个例子中,我们检查 x 和 y 中至少一个是否大于 0。如果任一条件为真,我们打印字符串 "At least one of x and y is positive"。

x = 5
y = 10

if x > 0 or y > 0:
   print("At least one of x and y is positive")

输出

它将产生以下输出:

At least one of the x and y is positive

示例 3

在这个例子中,我们检查 x 是否不小于 0。如果条件为真,我们打印字符串 "x is not negative"。

x = 5

if not x < 0:
   print("x is not negative")

输出

它将产生以下输出:

x is not negative

使用括号组合多个条件

我们也可以使用括号将条件组合到 "if" 语句中。当我们有需要按特定顺序计算的复杂条件时,这很有用。让我们来看一个例子。

示例

在这个例子中,我们检查 x 和 y 是否都大于 0,或者 x 和 y 是否都小于 0。如果任一条件为真,我们打印字符串 "Both x and y are positive or both x and y are negative"。

x = 5
y = 10

if (x > 0 and y > 0) or (x < 0 and y < 0):
   print("Both x and y are positive or both x and y are negative")

输出

它将产生以下输出:

Both x and y are positive or both x and y are negative

使用 In 关键字检查项目是否在列表或字符串中

在 "if" 语句中检查多个条件的另一种方法是使用 in 关键字。"in" 关键字用于检查项目是否在列表或字符串中。

示例 1

这是一个使用 "in" 关键字检查项目是否在列表中的示例。在这个例子中,我们检查 "apple" 是否在水果列表中。如果条件为真,我们打印字符串 "We have apples!"。

fruits = ["apple", "banana", "orange"]
if "apple" in fruits:
   print("We have apples!")

输出

它将产生以下输出:

We have apples!

示例 2

我们也可以使用 "in" 关键字检查子字符串是否在字符串中。在这个例子中,我们检查子字符串 "fox" 是否在字符串 "The quick brown fox jumps over the lazy dog" 中。如果条件为真,我们打印字符串 "We have a fox!"。

sentence = "The quick brown fox jumps over the lazy dog"
if "fox" in sentence:
   print("We have a fox!")

输出

它将产生以下输出:

We have a fox!

使用 Not 关键字检查项目是否不在列表或字符串中

我们也可以使用 not 关键字检查项目是否不在列表或字符串中。这是一个例子:

示例

在这个例子中,我们检查 "mango" 是否不在水果列表中。如果条件为真,我们打印字符串 "We don't have mangoes :("。

fruits = ["apple", "banana", "orange"]
if "mango" not in fruits:
   print("We don't have mangoes :(")

输出

它将产生以下输出:

We don't have mangoes :(

组合 "in" 和 "not in" 关键字

我们也可以组合 "in" 和 "not in" 关键字来检查更复杂的条件。这是一个例子:

示例

在这个例子中,我们检查 "mango" 是否不在水果列表中,并且 "apple" 或 "orange" 是否在水果列表中。如果条件为真,我们打印字符串 "We have apples or oranges, but no mangoes :("。

fruits = ["apple", "banana", "orange"]
if "mango" not in fruits and ("apple" in fruits or "orange" in fruits):
   print("We have apples or oranges, but no mangoes :(")

输出

它将产生以下输出:

We have apples or oranges, but no mangoes :(

使用 if-elif-else 语句检查多个条件

当我们需要顺序检查多个条件时,可以使用 if-elif-else 语句。if-elif-else 语句的语法是:

if condition1:
   # code to execute if condition1 is true
elif condition2:
   # code to execute if condition1 is false and condition2 is true
else:
   # code to execute if both condition1 and condition2 are false

现在,让我们来看一些例子。

示例 1

在这个例子中,我们检查 x 是否大于 0。如果条件为真,我们打印字符串 "x is positive"。如果条件为假且 x 等于 0,我们打印字符串 "x is zero"。如果两个条件都为假,我们打印字符串 "x is negative"。

x = 5
if x > 0:
   print("x is positive")
elif x == 0:
   print("x is zero")
else:
   print("x is negative")

输出

它将产生以下输出:

"X is positive"

示例 2

在这个例子中,我们检查 x 是否大于 0。如果条件为真,我们打印字符串 "x is positive"。如果条件为假且 x 等于 0,我们打印字符串 "x is zero"。如果两个条件都为假,我们打印字符串 "x is negative"。

x = -5
if x > 0:
   print("x is positive")
elif x == 0:
   print("x is zero")
else:
   print("x is negative")

输出

它将产生以下输出:

"X is negative"

示例 3

在这个例子中,我们检查 x 是否大于 0。如果条件为真,我们打印字符串 "x is positive"。如果条件为假且 x 等于 0,我们打印字符串 "x is zero"。如果两个条件都为假,我们打印字符串 "x is negative"。

x = 0
if x > 0:
   print("x is positive")
elif x == 0:
   print("x is zero")
else:
   print("x is negative")

输出

它将产生以下输出:

"X is zero"

结论

总之,多条件检查是编程的一个重要方面,它使我们能够创建更复杂和通用的程序。在 Python 中,有多种方法可以在 if 语句中检查多个条件,包括逻辑运算符、括号、in 关键字、not in 关键字和 if-elif-else 语句。

通过利用这些技术,我们可以创建更灵活的程序,能够处理各种情况。此外,理解如何有效地检查多个条件可以使我们的代码更高效,减少错误和漏洞的可能性。

总的来说,掌握 Python 中多条件检查的技巧可以极大地提高我们的编程技能,使我们能够创建更复杂的程序,以处理多样化和复杂的情况。

更新于:2023年8月21日

11K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告