if条件判断

只有满足指定条件, 才会执行对应的代码逻辑

if 要判断的条件: 
    条件成立时, 要执行的对应操作

判断语句的结果, 必须是True 或 False

不要忘记判断条件后的冒号 ( : )

python中是通过缩进来描述代码归属的, 归属于 if 代码块的语句, 需要在前方缩进 4 个空格 (按 tab 键)

score = 656 
if score > 680: 
    print("可以去清华")     
    print("分数非常高")  # 缩进的都属于if 语句块
print("============")   # 没有缩进, 不在if 语句块中

输出: ============

if … else 结构

if 要判断的条件: 
    条件成立时执行的语句 
else: 
    条件不成立时执行的语句

if … elif … else 结构

if 要判断的条件1: 
    条件成立时, 执行的操作1 
elif 要判断的条件2: 
    条件成立时, 执行的语句2 
else 
	条件不成立时, 执行的操作3

模式匹配

match … case

结构模式匹配就是用一个清晰的模式去精准的匹配数据的结构和内容, 匹配成功则执行相应的操作

day = input("please input day: ") 
match day: 
    case '1': 
        print("Monday") 
    case '2': 
        print("Tuesday") 
    case '3': 
        print("Wednesday")  
    case '6' | '7': 
        print("weekend")
    case _: 
        print("error")

| 表示或的关系, 匹配多个模式中的任意一个

  1. 首先计算match 指定的表达式的值
  2. 从上到下一次和case后面的值进行匹配, 匹配正确, 就执行对应语句
  3. 如果前面所有的case都没有匹配上, 就会只是默认的case _
#实现一个简易的计算器
num1 = float(input("请输入第一个数: "))  
oper = input("请输入运算符")
num2 = float(input("请输入第二个数: ")) 

match oper: 
    case '+': 
        print(num1 + num2) 
    case '-': 
        print(num1 - num2) 
    case '*': 
        print(num1 * num2) 
    case '/' if num2 != 0: # if 条件成立之后, 才会匹配这个case
        print(num1 / num2)  
    case _: 
        print("输入无效") 

可以在case: 语句中使用 if 条件判断

    case '/' if num2 != 0: # if 条件成立之后, 才会匹配这个case
        print(num1 / num2)  

循环

while

while 条件表达式: 
    循环体语句1 
    循环体语句2 
    ... 
else 
	循环体结束时, 执行的代码

while 循环是通过条件表达式来控制是否进行下一次循环

total = 0;  
i = 1; 
while i <= 100 : 
    if i % 2 == 0 : 
        total += i; 
    i += 1 
print("100 以内所有偶数的和为 total = ", total)

for循环

for 元素 in 待处理数据集: 
    循环体代码 (对元素进行处理)
else 
	循环体结束时, 执行的代码
msg = "hello world" 
for i in msg: 
    print(i) 

for 循环与 while 循环的场景

  • while 循环: 用于在某个条件满足时一直循环, 循环的次数通常是未知的, 只知道循环开始/结束的条件 (关注的是循环的条件)
  • for 循环: 用于对一个已知的数据集进行遍历或已知次数的循环, (关注的是遍历每一个元素)

Python 中 enumerate () 的用法

enumerate() 是 Python 内置函数,专门用来在遍历列表 / 元组 / 字符串等可迭代对象时,同时获取「索引」和「对应元素」,比手动维护索引变量更简洁、优雅。

一、基础语法

# 语法
enumerate(可迭代对象, start=0)
  • 第一个参数:必须是可迭代对象(列表、元组、字符串、字典等)
  • 第二个参数 start可选,指定索引起始值,默认从 0 开始
fruits = ["苹果", "香蕉", "橙子", "葡萄"]

# start=1,索引从 1 开始计数
for index, value in enumerate(fruits, start=1):
    print(f"第{index}名:{value}") 
    
# 输出:  1名:苹果
第2名:香蕉
第3名:橙子
第4名:葡萄

range语句

作用: 生成指定规则的数字序列

用法:

  1. range(end) -> 获取一个从 0 开始, 到 end 结束的数字序列 (不含end本身)
    1. range(5)获取的数据就是 0, 1, 2, 3, 4
  2. range(start, end) -> 获取一个从 start 开始, 到 end 结束的数字序列(不包含end本身)
    1. range(2, 8)获取的数据就是 2, 3, 4, 5, 6, 7
  3. range(start, end, step) -> 获取一个从 start 开始, 到 end 结束的数字序列, step 步长
    1. range(0, 10, 2)获取的数据就是 0, 2, 4, 6, 8
# 计算1 - 100 之间所有奇数之和
total = 0 
for i in range(1, 100, 2): 
    total += i; 
print("1 - 100 之间所有奇数之和为: ", total)

嵌套循环

for 元素 in 待处理数据集: 
    循环体代码 
    ... 
    for 元素 in 待处理数据集2 
    循环体代码
    ..
# 打印乘法表
for i in range(1, 10): 
    for j in range(1, i + 1): 
        print(j, " * " , i, " = ", i * j, end = "\t")
    print()

break关键字

只能出现在循环中, 表示结束, 跳出循环的含义

break跳出循环之后, while 后面的 else 语句将不会执行

continue关键字

只能出现在循环中, 表示跳出本次循环, 直接进入下一次循环

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐