Python的循环
Python 中主要有两种循环结构:for 循环和 while 循环,它们在不同的场景下有着各自的应用特点。
一、for 循环
1. 基本语法
• for 循环用于遍历序列(如列表、元组、字符串等)中的每个元素。
• 语法格式为:
for 变量 in 序列:
循环体
• 例如,遍历一个列表并打印每个元素:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
输出结果为:
apple
banana
cherry
• 当遍历字符串时,会逐个字符进行处理。比如:
for char in "hello":
print(char)
输出:
h
e
l
l
o
2. 结合 range() 函数
• range() 函数可以生成一个整数序列,常与 for 循环搭配使用来实现循环次数的控制。
• range(n) 生成从 0 到 n - 1 的整数序列;range(start, end) 生成从 start 到 end - 1 的整数序列;range(start, end, step) 生成从 start 到 end - 1 的整数序列,步长为 step。
• 例如,打印 0 到 4 的整数:
for i in range(5):
print(i)
输出:
0
1
2
3
4
• 计算 1 到 100 的整数和:
sum = 0
for i in range(1, 101):
sum += i
print(sum)
输出结果为 5050。
3. 遍历字典
• 字典在 for 循环中可以遍历键、值或键值对。
• 遍历键:
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
for key in my_dict:
print(key)
输出:
name
age
city
• 遍历值:
for value in my_dict.values():
print(value)
输出:
Alice
25
New York
• 遍历键值对:
for key, value in my_dict.items():
print(key, value)
输出:
name Alice
age 25
city New York
二、while 循环
1. 基本语法
• while 循环会一直执行循环体,直到指定的条件不再满足。
• 语法格式为:
while 条件:
循环体
• 例如,计算 1 到 10 的整数和:
sum = 0
i = 1
while i <= 10:
sum += i
i += 1
print(sum)
输出结果为 55。
2. 无限循环与退出
• 如果条件始终为真,while 循环会变成无限循环。通常需要在循环体内通过某些条件语句来退出循环。
• 使用 break 语句可以立即退出循环。例如:
while True:
user_input = input("请输入 'exit' 退出:")
if user_input == "exit":
break
这段代码会不断要求用户输入,直到用户输入 “exit” 时退出循环。
• 使用 continue 语句可以跳过当前循环的剩余部分,直接进入下一次循环。比如:
i = 0
while i < 10:
i += 1
if i % 2 == 0:
continue
print(i)
这段代码会打印 1 到 10 之间的奇数,因为当 i 为偶数时,continue 语句会跳过打印语句,直接进入下一次循环。
三、循环的嵌套
1. 嵌套循环
• 可以在循环体内嵌套另一个循环,即在一个 for 循环或 while 循环内部再使用 for 循环或 while 循环。
• 例如,打印一个 5 行 5 列的乘法表:
for i in range(1, 6):
for j in range(1, 6):
print(f"{i}*{j}={i*j}", end="\t")
print()
输出结果为:
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
• 嵌套循环的层数越多,循环的次数呈指数级增长,所以要谨慎使用,避免造成不必要的性能开销。
2. 嵌套循环中的 break 和 continue
• 在嵌套循环中,break 和 continue 只影响最内层的循环。例如:
for i in range(3):
for j in range(3):
if j == 1:
break
print(f"i={i}, j={j}")
输出:
i=0, j=0
i=1, j=0
i=2, j=0
当 j 等于 1 时,break 语句会退出内层 for 循环,但外层 for 循环仍然会继续执行。
原文地址:https://blog.csdn.net/silver687/article/details/145137097
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!