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

目录

1. 条件控制的重要性

2. 理解条件语句的基础

3. 使用 elif 增加更多选择

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

5. 利用 and 与 or 连接条件

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

7. 实战案例:自动评分系统

8. 总结

文末福利


1. 条件控制的重要性

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

2. 理解条件语句的基础

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

代码示例

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

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

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

3. 使用 elif 增加更多选择

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

代码示例

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

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

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

4. 利用 innot in 进行集合匹配

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

代码示例

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

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

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

5. 利用 andor 连接条件

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

代码示例

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("请先购票。")

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

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

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

代码示例

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

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

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

7. 实战案例:自动评分系统

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

需求分析

  • 如果学生按时提交作业,加分。

  • 如果答案完全正确,满分;部分正确,按比例给分;完全错误,零分。

  • 根据参与讨论的积极性给予额外加分。

代码实现

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() 来计算学生的总分。通过组合使用多个条件判断,实现了对不同情况下的评分规则。

8. 总结

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

好了,今天的分享就到这里了,我们下期见。如果本文对你有帮助,请动动你可爱的小手指点赞、收藏吧!

文末福利

最后,如果你对Python感兴趣的话,可以试试我整理的这一份全套的Python学习资料,【点击这里】免费领取!

包括:Python激活码+安装包、Python
web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。

也可以微信扫描下方CSDN官方认证二维码免费获取【保证100%免费】。

① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值