python中关于 循环控制 (for 和 while)得关键字

详细讲解 Python 中用于循环控制 (for 和 while) 的关键字。

循环允许我们重复执行一段代码多次,是自动化处理任务的核心。Python 提供了两种主要的循环方式,并配有控制循环流程的关键字。

一、循环类型关键字

1.for- 迭代循环

  • 功能:用于遍历任何可迭代对象(如列表、元组、字符串、字典、集合等)中的每个元素。
  • 特点:循环次数通常由可迭代对象的长度决定。
  • 语法
for 变量 in 可迭代对象:
    # 循环体代码

.示例

# 遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")
# 输出: 我喜欢吃苹果, 我喜欢吃香蕉, 我喜欢吃橙子

# 遍历字符串
for char in "Hello":
    print(char)
# 输出: H, e, l, l, o

# 遍历字典的键
person = {"name": "小明", "age": 20, "city": "北京"}
for key in person:
    print(f"{key}: {person[key]}")

2.while- 条件循环

  • 功能:只要给定的条件为 True,就会一直重复执行代码块。
  • 特点:循环次数不确定,取决于条件何时变为 False。
  • 语法
while 条件:
    # 循环体代码
# 计数器循环
count = 5
while count > 0:
    print(f"倒计时: {count}")
    count -= 1  # 重要:必须改变条件,否则会无限循环
# 输出: 5, 4, 3, 2, 1

# 用户输入验证
password = ""
while password != "secret":
    password = input("请输入密码: ")
print("密码正确!")

二、循环控制关键字

这些关键字用于在循环内部控制循环的执行流程。

3.break- 终止循环

  • 功能立即完全退出当前所在的最近一层循环,不再执行循环中剩余的代码,也不再进行下一次迭代。
  • 用途:当满足某个特定条件时,提前结束循环。
  • 示例
# 在列表中查找数字,找到后立即退出
numbers = [1, 3, 5, 7, 9, 2, 4, 6, 8]
target = 5

for num in numbers:
    print(f"检查: {num}")
    if num == target:
        print("找到了!")
        break  # 找到后立即退出循环
# 输出: 检查: 1, 检查: 3, 检查: 5, 找到了!

# while循环中的break
while True:  # 看似无限循环
    user_input = input("输入'quit'退出: ")
    if user_input == "quit":
        break  # 退出循环
    print(f"你输入了: {user_input}")

4.continue- 跳过本次迭代

  • 功能跳过当前迭代的剩余代码,直接进入循环的下一次迭代。
  • 用途:当遇到某些不需要处理的情况时,跳过当前循环。
  • 示例
# 只打印奇数
for i in range(10):
    if i % 2 == 0:  # 如果是偶数
        continue    # 跳过后续代码,直接下一轮循环
    print(i)        # 只打印奇数: 1, 3, 5, 7, 9

# 处理列表时跳过空值
data = [1, None, 3, "", 5, "hello"]
for item in data:
    if not item:  # 如果item为空、None、False等
        continue
    print(f"处理: {item}")
# 输出: 处理: 1, 处理: 3, 处理: 5, 处理: hello

5.else- 循环完成后的处理

  • 功能:当循环正常完成(即不是通过 break 语句退出)时,执行 else 块中的代码。
  • 用途:常用于搜索场景,判断是否找到了目标。
  • 示例
# 在列表中查找元素,如果没找到则提示
numbers = [1, 2, 3, 4, 5]
target = 6

for num in numbers:
    if num == target:
        print("找到了!")
        break
else:  # 注意:else与for对齐,不是与if对齐
    print(f"{target} 不在列表中") # 这会执行

# while循环的else
count = 3
while count > 0:
    print(count)
    count -= 1
else:
    print("循环正常结束") # 这会执行

三、特殊用法

6.pass- 空操作占位符

  • 功能:什么都不做,只是一个占位符,用于语法上需要语句但逻辑上不需要任何操作的地方。
  • 用途:在循环中暂时跳过某些情况,或者为未来功能预留位置。
  • 示例
for i in range(5):
    if i == 2:
        pass  # 暂时不做任何处理,但保持语法正确
    else:
        print(i)
# 输出: 0, 1, 3, 4 (跳过了2,但不是因为pass,而是因为没执行print)

综合示例

# 综合使用各种循环关键字
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = []

for num in numbers:
    # 跳过大于8的数字
    if num > 8:
        continue
    
    # 如果是偶数,添加到列表
    if num % 2 == 0:
        even_numbers.append(num)
        print(f"添加偶数: {num}")
    
    # 如果已经收集到3个偶数,就停止
    if len(even_numbers) >= 3:
        print("已收集到3个偶数,停止收集")
        break
else:
    print("循环正常完成,未达到3个偶数")

print(f"最终收集的偶数: {even_numbers}")
# 输出: 添加偶数: 2, 添加偶数: 4, 添加偶数: 6, 已收集到3个偶数,停止收集
#       最终收集的偶数: [2, 4, 6]

总结表

关键字

功能描述

适用循环类型

示例

for

迭代遍历序列

for循环

for item in list:

while

条件循环

while循环

while condition:

break

完全退出循环

两者都适用

break

continue

跳过本次迭代

两者都适用

continue

else

循环正常完成后执行

两者都适用

for...: else:

pass

空操作占位符

两者都适用

pass

重要提醒

  1. 使用 while 循环时,确保条件最终会变为 False,否则会造成无限循环。
  2. break 和 continue 只影响最近的一层循环
  3. 循环的 else 子句只有在循环正常完成(未遇到break)时才会执行

这些关键字让你能够精确控制程序的循环行为,实现复杂的重复任务处理逻辑。

原文链接:,转发请注明来源!