Python 中的 if 判断与嵌套 for 循环

Python 是一种广泛使用的编程语言,其简洁易读的语法深受开发者的喜爱。在 Python 中,条件判断和循环是两个非常重要的概念。本文将介绍如何在 if 判断中直接嵌套 for 循环,并通过示例帮助大家更好地理解这一用法。

1. 基本概念回顾

1.1 if 语句

if 是用来进行条件判断的语句。如果条件为真,则执行相应的代码块;如果为假,代码块将被跳过。

基本的 if 语句结构如下:

if condition:
    # 执行代码块

1.2 for 循环

for 循环用于遍历序列(如列表、元组、字典、集合或字符串等)中的元素。

基本的 for 循环结构如下:

for item in iterable:
    # 执行代码块

2. if 判断中的嵌套 for 循环

在某些情况下,我们可能需要在 if 判断中使用 for 循环,以便在满足特定条件时对一组数据进行迭代处理。可以将 for 循环放在 if 语句的代码块中,从而实现这一目的。

2.1 基本示例

让我们通过下面的示例来理解如何在 if 判断中嵌套 for 循环。

假设我们有一个学生成绩的列表,并希望输出所有及格学生的姓名。我们定义一个及格线,即成绩大于等于 60 分。

students = {
    "Alice": 85,
    "Bob": 45,
    "Charlie": 75,
    "Daisy": 50,
    "Eva": 90
}

passing_students = []
passing_score = 60

for name, score in students.items():
    if score >= passing_score:
        passing_students.append(name)

print("及格的学生有:", passing_students)

在上述代码中,我们首先定义了一个包含学生姓名和成绩的字典 students。我们设置 passing_score 为 60,然后使用 for 循环遍历字典中的每一个学生成绩。在 if 判断中,我们检查每个学生的成绩是否及格,如果及格则将其姓名添加到 passing_students 列表中。最终,我们输出及格的学生姓名。

3. 复杂示例

在某些情况下,我们可能需要在 if 判断中嵌套多个 for 循环。例如,假设我们有一个产品及其价格的字典,我们希望根据一定的折扣来计算最终价格。如果价格大于一定值,则单独计算折扣后价格。

以下是一个示例代码,展示如何在 if 语句中使用嵌套的 for 循环。

products = {
    "Laptop": 1200,
    "Smartphone": 800,
    "Tablet": 300,
    "Headphones": 100
}

discounts = {
    "Laptop": 0.1,  # 10% 折扣
    "Smartphone": 0.05,  # 5% 折扣
    "Tablet": 0,  # 无折扣
    "Headphones": 0.2  # 20% 折扣
}

threshold_price = 500
final_prices = {}

for product, price in products.items():
    if price > threshold_price:
        for discount_name, discount_value in discounts.items():
            if product == discount_name:
                final_price = price - (price * discount_value)
                final_prices[product] = final_price

print("满足条件的最终价格为:")
for product, final_price in final_prices.items():
    print(f"{product}: {final_price:.2f} 元")

3.1 解析代码

在这个示例中:

  1. 我们定义了一个 products 字典,包含产品名称和价格。
  2. 我们还定义了一个 discounts 字典,用来表示所有产品的折扣 percentage。
  3. for 循环中,我们遍历每一个产品和它的价格。如果产品价格超过了设定的阈值(threshold_price),我们再进行第二层的 for 循环,检查该产品的折扣信息。
  4. 最后,我们使用格式化输出显示满足条件的最终价格。

4. 总结

通过以上的示例,我们看到如何将 for 循环嵌套在 if 判断中,以实现更复杂的逻辑。这种方法可以使代码更具灵活性,并能应对更复杂的业务需求。

嵌套循环通常会增加代码的复杂度,因此在使用时要注意代码逻辑的清晰性。同时,保持代码的可读性和可维护性是编程时的重要原则。

希望通过本文的介绍和示例,你能对 Python 中的 if 判断和嵌套 for 循环有更深入的理解和掌握。 编写出更高质量的代码,提升编程能力!