令人拍案叫绝的 Python 条件控制技巧

开发 前端
从简单的 if 语句到复杂的多条件组合,再到列表推导式中的条件表达式,每一步都为我们提供了更强大的编程能力。

条件控制的重要性

条件控制是编程中最基本也是最重要的部分之一。它让程序可以根据不同的情况做出不同的反应。想象一下,如果我们的程序不能根据用户的输入或环境的变化做出响应,那它就只是一个死板的工具,无法适应多变的需求。

理解条件语句的基础

Python 中最基本的条件控制结构是 if 语句。通过这个简单的语句,我们可以实现逻辑分支,让程序走向不同的路径。

代码示例:

age = int(input("请输入你的年龄: "))

if age >= 18:
    print("你已成年!")
else:
    print("你还未成年哦!")

这段代码首先提示用户输入年龄,然后根据输入的值判断用户是否成年。这里的关键点在于 if 后面的条件表达式 age >= 18,它是一个布尔表达式,返回 True 或 False。

使用 elif 增加更多选择

当需要处理多个条件时,elif(即“else if”)就派上用场了。它可以让你添加多个条件检查,使程序更加灵活。

代码示例:

score = int(input("请输入你的分数: "))

if score >= 90:
    print("优秀")
elif score >= 70:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")

这里,根据分数的不同范围,程序会输出不同的评价。elif 允许我们在一个 if 语句中添加多个条件分支。

利用 in 和 not in 进行集合匹配

除了比较数值,我们还可以使用 in 和 not in 来检查某个元素是否存在于一个集合(如列表、元组、字符串等)中。

代码示例:

colors = ["red", "green", "blue"]
favorite_color = input("请输入你喜欢的颜色: ")

if favorite_color in colors:
    print(f"我喜欢{favorite_color}!")
else:
    print("这不是我最喜欢的三种颜色之一。")

这段代码询问用户喜欢的颜色,然后检查该颜色是否在预定义的颜色列表中。如果是,则打印一条友好的消息;否则,告诉用户这不在他们喜欢的颜色范围内。

利用 and 与 or 连接条件

有时候我们需要同时满足多个条件,或者只需要满足其中一个条件即可。这时候就可以使用逻辑运算符 and 和 or。

代码示例:

age = int(input("请输入你的年龄: "))
has_ticket = input("你有票吗?(yes/no): ") == "yes"

if age >= 18 and has_ticket:
    print("欢迎进入电影院!")
elif age < 18 and has_ticket:
    print("对不起,未成年人需由成人陪同。")
else:
    print("请先购票。")

此示例展示了如何结合使用 and 和 or 来创建更复杂的逻辑判断。只有当用户既符合年龄要求又有票的情况下,才能进入电影院。

高级技巧:列表推导式中的条件表达式

列表推导式是一种简洁的方式,可以用来创建新列表。当你想在生成列表的同时加入条件控制时,可以在列表推导式中使用条件表达式。

代码示例:

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = [num for num in numbers if num % 2 == 0]

print(even_numbers)  # 输出: [2, 4, 6]

这段代码创建了一个只包含原列表中偶数的新列表。列表推导式的语法非常直观,容易理解。

实战案例:自动评分系统

假设我们要开发一个在线课程的自动评分系统。对于每个学生的答案,系统需要根据多个标准给出评分。

需求分析:

  • 如果学生按时提交作业,加分。
  • 如果答案完全正确,满分;部分正确,按比例给分;完全错误,零分。
  • 根据参与讨论的积极性给予额外加分。

代码实现:

def calculate_score(submission_time, correctness, discussion_participation):
    base_score = 0
    if submission_time <= 24 * 60 * 60:  # 按时提交
        base_score += 10
    if correctness == "perfect":
        base_score += 80
    elif correctness == "partial":
        base_score += 40
    else:
        base_score += 0
    if discussion_participation >= 3:
        base_score += 10
    return base_score

# 测试数据
print(calculate_score(23 * 60 * 60, "perfect", 5))  # 应输出 100
print(calculate_score(25 * 60 * 60, "partial", 2))  # 应输出 40

在这个例子中,我们定义了一个函数 calculate_score() 来计算学生的总分。通过组合使用多个条件判断,实现了对不同情况下的评分规则。

总结

通过本文的学习,你应该已经掌握了 Python 中条件控制的基本用法以及一些高级技巧。从简单的 if 语句到复杂的多条件组合,再到列表推导式中的条件表达式,每一步都为我们提供了更强大的编程能力。记住,条件控制是编写逻辑清晰、功能丰富的程序的基础。不断练习,你会越来越熟练地运用这些技巧解决实际问题!

责任编辑:赵宁宁 来源: 手把手PythonAI编程
相关推荐

2018-12-04 09:34:22

程序员薪水Python

2018-11-12 09:00:33

2022-05-07 10:50:53

数据库Facebook项目

2024-09-23 09:00:00

Python条件控制

2010-06-21 11:11:42

Windows 7技巧

2024-05-16 11:09:40

Python字符串代码

2024-08-22 08:57:32

Python技巧参数

2010-03-18 16:37:13

Python 程序流程

2020-06-10 08:37:21

JavaScript重构技巧

2023-10-31 08:15:51

2021-08-17 11:20:25

Vue前端技巧

2023-12-27 14:19:33

Python内置函数开发

2017-10-20 12:00:36

Python全局解释器锁GIL

2019-06-27 10:35:40

JavaScript条件式匹配条件

2020-05-15 21:00:42

pythonkaif开发代码

2024-09-05 16:02:52

Python数据类型字符串

2009-12-31 10:06:47

ADO .NET组件

2024-06-03 09:00:00

Python代码

2022-07-04 08:51:43

条件语句JavaScript

2010-08-26 10:18:51

点赞
收藏

51CTO技术栈公众号