Python中的条件语句
Python 条件语句详解
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
if 条件:
代码块
代码
下面是一些关于 Python if-elif-else
条件语句的基本概念和实际示例:
Python 条件语句允许在满足特定条件时执行代码块。
其基本语法如下:
if 条件1:
代码块1
elif 条件2:
代码块2
else:
代码块3
if
语句检查条件是否为 True,如果为 True,则执行代码块。elif
(即 else if)允许检查多个条件。else
为所有条件均不满足时执行的代码块。
基本示例
-
简单的条件判断:
var1 = 100 if var1: print("1 - 条件为 true") print(var1) print("继续执行")
这里,
var1
非零即视为True
,因此会执行打印语句。 -
年龄与条件语句:
age = int(input("请输入你的年龄: ")) if age <= 18: print("你还未成年!") elif age > 18 and age < 60: print("你是成年人。") else: print("你是老年人。")
根据输入的年龄,这段代码会打印不同的消息。
复杂示例:数字猜谜游戏
number = 7
guess = -1
print("数字猜谜游戏!")
while guess != number:
guess = int(input("请输入你猜的数字:"))
if guess == number:
print("恭喜,你猜对了!")
elif guess < number:
print("猜的数字小了...")
else:
print("猜的数字大了...")
用户需要猜一个预设的数字,直到猜中为止。
奇偶数gif:
if 嵌套示例
num = int(input("输入一个数字:"))
if num % 2 == 0:
if num % 3 == 0:
print("数字可以整除 2 和 3")
else:
print("数字可以整除 2,但不能整除 3")
else:
if num % 3 == 0:
print("数字可以整除 3,但不能整除 2")
else:
print("数字不能整除 2 和 3")
这个例子展示了如何使用嵌套的 if
语句来判断一个数字同时被 2 和 3 整除的情况。
希望这些示例对您理解和使用 Python 条件语句有帮助!如果您需要进一步的帮助或其他示例,随时告诉我。
match...case
Python 3.10 引入的 match...case
结构提供了一种更为简洁和灵活的方式来执行基于多个条件的分支处理,这是 if-elif-else
结构的一个强大替代。它特别适用于你需要对一个值进行多种检查并根据不同的匹配结果执行不同操作的场景。
match...case 语法介绍
在 Python 中,match...case
类似于其他语言中的 switch...case
语句,但它更为强大,因为它支持模式匹配而不仅仅是值匹配。基本语法如下:
match subject:
case pattern_1:
action_1
case pattern_2:
action_2
case pattern_3:
action_3
case _:
action_wildcard
其中 case _
表示默认情况,类似于其他语言中的 default
,当没有其他匹配时执行。
示例:处理 HTTP 状态代码
这个例子演示了如何使用 match...case
来处理不同的 HTTP 状态代码:
def http_error(status):
match status:
case 400:
return "Bad request"
case 404:
return "Not found"
case 500:
return "服务端错误"
case _:
return "网络出问题了"
status = 400
print(http_error(status)) # 输出:Bad request
多条件匹配
你可以在一个 case
语句中使用 |
来组合多个条件,这对于执行相同操作的不同匹配非常有用:
def handle_user_status(code):
match code:
case 200 | 201:
return "Success"
case 401 | 403 | 404:
return "Not allowed"
case _:
return "Unknown code"
print(handle_user_status(403)) # 输出:Not allowed
match...case
提供了一个结构清晰且易于维护的方式来处理多分支逻辑。它尤其在你需要对数据进行详细的结构和内容检查时表现出色,使代码既简洁又具有很高的可读性。如果你有更多关于 match...case
的使用场景或需要其他示例,可以随时询问!