Zq-蓝桥杯python-循环语句进阶

for循环回顾

for循环主要用于遍历一个序列(如列表、range生成的序列),其循环次数在开始前是确定的。

while循环:当条件为真时重复

基本语法

复制代码
while condition:
    # 条件为True时,重复执行这里的代码
    #(注意缩进)

eg:打印一到五

复制代码
#1.初始化循环变量
count = 1
#2.检查循坏条件
while count <= 5:
    print(count,end=' ')
    # 3.更新循环变量
	count += 1

避免无限循环

while循环必须包含能改变循环条件的语句(如count += 1),否则条件将永远为True,程序会陷入"无限循环"。

break:彻底退出循环

功能

break语句可以用来立即终止其所在的 当前层循环,程序将跳转到循环结构之后的下一行代码继续执行。

eg:寻找并打印第一个偶数

复制代码
numbers = [1, 3, 5, 8, 9, 10]

for num in numbers:
    print("正在检查:", num)
    if num % 2 == 0:
        print("找到了第一个偶数:", num)
        break #

输出:

复制代码
正在检查: 1
正在检查: 3
正在检查: 5
正在检查: 8
找到了第一个偶数: 8
循环结束

continue:跳出本次循环

功能

continue语句用于结束当前这次循环,并立即开始下一次循环。循环体中continue之后的代码将被跳过。

eg.只打印列表中的奇数

复制代码
numbers = [1, 2, 3, 4, 5, 6]
for num in numbers:
    if num % 2 == 0:
        continue
    print("奇数:", num)

输出:

复制代码
奇数: 1
奇数: 3
奇数: 5

while True与嵌套循环

while True模式:处理多组输入

在算法竞赛中,题目有时会要求处理多组输入数据,直到遇到一个特定的结束标记(如输入0)。while True结合break是实现这种逻辑的经典模式。

嵌套循环

一个循环结构内部可以包含另一个完整的循环结构。

外层循环每执行一次,内层循环会 完整地执行一遍

break/continue的作用范围

'break'和'continue'的作用域

'break'和'continue'语句只会影响其所在的 最内层循环

如何跳出多层循环?

方法:使用标志位(Flag)

我们可以定义一个外部的布尔变量(标志位),在内层循环中改变它,并在外层循环中检查它,从而实现多层跳出。