【python入门】循环语句

发布于:2024-06-29 ⋅ 阅读:(55) ⋅ 点赞:(0)


1. for 循环

for 循环通常用于遍历序列(如列表、元组、字典、集合、字符串)或者迭代器。for 循环可以自动遍历这些序列中的每个元素。

# 遍历列表
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)  # 依次打印 'apple', 'banana', 'cherry'

# 遍历字符串
for char in 'hello':
    print(char)  # 依次打印 'h', 'e', 'l', 'l', 'o'

# 遍历字典的键
for key in {'a': 1, 'b': 2}:
    print(key)

2. while 循环

while 循环会一直执行,直到给定的条件不再为真。它适用于当你不知道循环需要执行多少次的情况。

# 打印从1到5
count = 1
while count <= 5:
    print(count)
    count += 1  # 非常重要的一步,否则会形成无限循环

3. breakcontinue 语句

  • break 用于立即退出循环。
  • continue 用于跳过当前循环的剩余部分,并继续执行下一次循环。
# 使用 break 退出循环
for i in range(10):
    if i == 5:
        break
    print(i)  # 打印 0 到 4

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

4. else 子句

else 子句与 if 语句类似,但它与循环结合使用。如果循环正常结束(没有遇到 break),则执行 else 块。

for i in range(10):
    if i == 5:
        break
else:
    print("Loop completed without encountering break.")  # 如果没有break,将执行这里的代码

5. 组合索引序列

  • enumerate() 函数可以在遍历列表时同时获得元素的索引和值。
for index, value in enumerate(['a', 'b', 'c']):
    print(index, value)  # 打印 (0, 'a'), (1, 'b'), (2, 'c')

6. 列表推导式

列表推导式提供了一种简洁的方式来创建列表,基于现有的列表。

# 创建一个包含前5个整数平方的列表
squares = [x**2 for x in range(5)]
print(squares)  # [0, 1, 4, 9, 16]

# 创建一个包含偶数平方的列表
even_squares = [x**2 for x in range(10) if x % 2 == 0]
print(even_squares)  # [0, 4, 16, 36, 64]

7. 循环中的异常处理

在循环中使用 try-except 结构可以捕获并处理可能出现的异常。

# 尝试打印数字的平方根,但跳过非数字
for value in [4, 'a', 9, 16, 0, 'b']:
    try:
        print(math.sqrt(value))
    except ValueError:
        print("ValueError occurred")
    except TypeError:
        print("TypeError occurred")

8. 循环的高级用法

  • 使用 zip() 函数同时遍历多个序列。
  • 使用 range() 函数创建数字序列。
  • 使用生成器表达式(与列表推导式类似,但使用圆括号)创建迭代器。
# 使用 zip 同时遍历两个列表
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for item1, item2 in zip(list1, list2):
    print(item1, item2)  # 打印 (1, 'a'), (2, 'b'), (3, 'c')

# 使用 range 创建数字序列
for i in range(1, 6):  # 从1到5
    print(i)

# 使用生成器表达式创建迭代器
gen_expr = (x * 2 for x in range(5))
for value in gen_expr:
    print(value)  # 依次打印 0, 2, 4, 6, 8

9. 循环嵌套

Python中的循环嵌套指的是在一个循环内部再使用另一个循环,这通常用于需要对数据进行多维度处理的情况。

  • 基本的循环嵌套结构

嵌套循环的基本结构如下:

for i in range(a):  # 外层循环
    for j in range(b):  # 内层循环
        # 执行一些操作

这里的ab是循环的次数,ij是循环变量。

  • 嵌套循环的例子

打印出从1到某个数n的所有数字的平方,并且每打印5个数字就换行:

n = 10  # 假设我们打印到10的平方
for i in range(1, n + 1):  # 外层循环,从1到n
    for j in range(5):  # 内层循环,打印5个数字
        print(f"{i} * {i} = {i**2}", end="\t")  # 打印平方
    print()  # 每打印5个数字后换行

打印了list1list2中所有可能的字符和数字的组合:

list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]

for item1 in list1:  # 外层循环,遍历list1
    for item2 in list2:  # 内层循环,遍历list2
        print(f"{item1}: {item2}")  # 打印组合

加油,披星戴月的年轻人