Python循环语句

一、for 循环

用于遍历可迭代对象(如列表、元组、字符串、字典等)。

1. 基本语法

for 变量 in 可迭代对象:
    # 循环体
    代码块

#变量:是一个通用的占位符,告诉你在编写循环时需要定义一个变量来接收可迭代对象中的元素。

示例:遍历列表

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)
# 输出:apple, banana, cherry


#含义:fruit 是一个临时变量,用于在每次循环中存储列表 fruits 中的当前元素

2. 遍历字符串

for char in "hello":
    print(char)
# 输出:h, e, l, l, o

#python字符类型为  str (相当于C语言中的char)

3. 遍历字典

(字典类似于C语言中的结构体,不会可以去AI单独搜一下字典,对照结构体理解)

默认遍历字典的键:

person = {"name": "Alice", "age": 30}
for key in person:
    print(key, person[key])
# 输出:name Alice, age 30

4. 使用 range() 函数

生成整数序列:(不知道这个函数的先看下面解释)

# 遍历 0 到 4
for i in range(5):
    print(i)

# 遍历 2 到 6(不包含 7)
for i in range(2, 7):
    print(i)

# 遍历 1 到 10,步长为 2
for i in range(1, 11, 2):
    print(i)  # 输出:1, 3, 5, 7, 9

首先解释一下range()函数

4.1基本语法(重点)

range(stop)                # 从 0 开始,到 stop-1 结束
range(start, stop)         # 从 start 开始,到 stop-1 结束
range(start, stop, step)   # 从 start 开始,到 stop-1 结束,步长为 step
参数说明
  • start(可选):起始值(包含),默认为 0
  • stop(必选):结束值(不包含)。
  • step(可选):步长(每次增加的值),默认为 1,可以为负数(表示递减)。

4.2使用示例

4.2.1 生成从 0 到 n-1 的序列
for i in range(5):
    print(i)  # 输出:0, 1, 2, 3, 4
4.2.2 指定起始值和结束值
for i in range(2, 7):
    print(i)  # 输出:2, 3, 4, 5, 6
4.2.3 指定步长
for i in range(1, 10, 2):
    print(i)  # 输出:1, 3, 5, 7, 9(奇数序列)
4.2.4递减序列(负步长)
for i in range(5, 0, -1):
    print(i)  # 输出:5, 4, 3, 2, 1

4.3转换为列表

range() 返回的是一个可迭代对象(range 对象),可以通过 list() 转换为列表:

numbers = list(range(1, 6))
print(numbers)  # 输出:[1, 2, 3, 4, 5]

4.4主要特性

  1. 不可变性range 对象是不可变的,生成后不能修改。
  2. 高效性:即使生成很大的范围,也只占用很小的内存,因为它是惰性计算的(按需生成值)。
  3. 可迭代性:可以直接用于 for 循环,或通过 iter() 和 next() 迭代。

4.5常见应用场景

  1. 循环固定次数

    for _ in range(3):
        print("Hello!")  # 输出三次 "Hello!"
    
  2. 遍历列表索引

    fruits = ["apple", "banana", "cherry"]
    for i in range(len(fruits)):
        print(f"Index {i}: {fruits[i]}")
    #实际输出
    # Index 0: apple
    # Index 1: banana
    # Index 2: cherry
  3. even_numbers = list(range(0, 10, 2))  # [0, 2, 4, 6, 8]
    

二、while 循环

在条件为真时重复执行代码块。

1. 基本语法

while 条件:
    # 循环体
    代码块
    # 更新条件(避免无限循环)

示例:计算 1 到 10 的和

sum = 0
i = 1
while i <= 10:
    sum += i
    i += 1
print(sum)  # 输出:55

2. 无限循环

需谨慎使用,确保有退出条件:

while True:
    user_input = input("输入 'q' 退出:")
    if user_input == 'q':
        break  # 跳出循环

三、循环控制关键字

1. break

立即终止整个循环,跳出循环体:

for i in range(10):
    if i == 5:
        break
    print(i)  # 输出:0, 1, 2, 3, 4

2. continue

跳过当前循环的剩余代码,直接进入下一次循环:

for i in range(10):
    if i % 2 == 0:
        continue  # 跳过偶数
    print(i)  # 输出:1, 3, 5, 7, 9

3. else 子句

在所有循环结束后的最后执行,循环正常结束时执行(若被 break 终止则不执行)

for i in range(5):
    print(i)
else:
    print("循环结束")  # 会执行
 #实际输出结果
# 0
# 1
# 2
# 3
# 4
# 循环结束

for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("循环结束")  # 不会执行
#实际输出结果
# 0
# 1
# 2

四、嵌套循环

在循环内部嵌套另一个循环,常用于处理多维数据:

# 打印乘法表
for i in range(1, 10):
    for j in range(1, i + 1):
        print(f"{j}×{i}={i*j}", end="\t")
    print()

#看不懂print()函数里面没关系 博主会单出一个print()函数的讲解

五、循环技巧

1. 同时获取索引和值:enumerate()
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
    print(index, fruit)
# 输出:0 apple, 1 banana, 2 cherry
2. 并行遍历多个序列:zip()
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
for name, age in zip(names, ages):
    print(f"{name} 年龄是 {age}")
#实际输出为
# Alice 年龄是 25
# Bob 年龄是 30
# Charlie 年龄是 35
3. 反向遍历:reversed()
for i in reversed(range(5)):
    print(i)  # 输出:4, 3, 2, 1, 0
4. 排序后遍历:sorted()
for num in sorted([3, 1, 4]):
    print(num)  # 输出:1, 3, 4

总结

循环类型适用场景示例
for 循环遍历可迭代对象(列表、字符串等)for item in items: print(item)
while 循环基于条件重复执行while condition: 代码块
break终止整个循环if ...: break
continue跳过当前循环if ...: continue
else 子句循环正常结束时执行for ...: ... else: ...

合理使用循环和控制语句可以高效处理重复性任务,避免代码冗余。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值