组队学习专用——chap 4

一、个人链接主页

登录 - HydroOJ

https://hydro.ac/d/datawhale_p2s/user/63162

二、条件语句

1.if条件语句

Python中有if、if-else、和if-elif-else等if条件语句,我们也可以利用逻辑运算符 and、or 和 not 来构建更复杂的条件判断。例如:

判断一个数字是否为正数:

number = 5
if number > 0:
    print("这是一个正数!")

判断一个数字是奇数还是偶数:

number = 10
if number % 2 == 0:
    print("这是一个偶数!")
else:
    print("这是一个奇数!")

 根据分数输出等级:

score = 85
if score >= 90:
    print("等级:A")
elif score >= 80:
    print("等级:B")
elif score >= 70:
    print("等级:C")
else:
    print("等级:D")

判断一个输入的密码是否有效:

password = "P@ssw0rd"
if len(password) >= 8 and any(char.isdigit() for char in password) and any(char.isupper() for char in password):
    print("密码有效!")
else:
    print("密码无效,必须包含至少一个数字和一个大写字母,且长度至少为8位。")

 2.if-else 推导式

if-else 推导式,也称为三元运算符,是一种在 Python中简化条件判断的方式。它有时被戏称为“迷你if语句”,因为它能在一行内完成通常需要多行的逻辑,尤其是在代码审查中,能快速表达意图。它的基本语法为:

result = value_if_true if condition else value_if_false

比如可以让条件表达式与列表推导式结合,创建更复杂的数据处理逻辑:

numbers = [1, -1, 2, -2, 3]
categories = ["正数" if n > 0 else "负数" for n in numbers]

​3.match语句

match 语句与传统的 if 语句相比,更加清晰和简洁。这里举三个例子:

①解构数据

可以轻松解构数据结构,如元组或字典。例如,从一个包含多种信息的元组中提取值:

point = (10, 20)
match point:
    case (x, y):
        print(f"坐标是 ({x}, {y})")

②匹配类实例

可以根据对象的类型和属性执行不同的逻辑: 

class Cat:
    pass

class Dog:
    pass

animal = Cat()

match animal:
    case Dog():
        print("这是狗")
    case Cat():
        print("这是猫")
    case _:
        print("未知动物")

③处理复杂条件

可以使用模式匹配来处理更复杂的数据结构,例如字典:

person = {"name": "Alice", "age": 30}

match person:
    case {"name": name, "age": age} if age >= 18:
        print(f"{name} 是成年人")
    case {"name": name}:
        print(f"{name} 是未成年人")

4.try-except 语句

try-except块是 Python 中用于处理异常情况的重要结构。它允许在运行时捕获和处理错误,确保程序不会因为未处理的异常而崩溃。相信大家都有遇到填写密码错误的情况,而正是 try-except 捕获输入格式错误导致的异常。

例如:

def validate_password(password):
    if len(password) < 8:
        raise ValueError("密码长度必须至少为8个字符。")
    if not any(char.isdigit() for char in password):
        raise ValueError("密码必须包含数字。")

try:
    user_password = input("请输入密码:")
    validate_password(user_password)
    print("密码有效!")
except ValueError as e:
    print(f"密码验证失败:{e}")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值