循环语句:for
和 while
循环是程序中用于重复执行一段代码的重要工具。它可以让我们减少重复的代码书写,自动完成大量任务。Python 中的循环语句主要有两种:for
循环和**while
循环**。
for
循环
for
循环用于按顺序遍历某个可迭代对象(例如列表、字符串、字典等),对每个元素执行一次代码块。
语法
for 变量 in 可迭代对象:
# 循环体,执行的代码
示例:遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(f"我喜欢吃 {fruit}")
输出:
我喜欢吃 苹果
我喜欢吃 香蕉
我喜欢吃 橙子
range()
函数配合 for
使用
range()
是一个生成整数序列的函数,常用于循环指定次数。
示例:输出数字 0 到 4
for i in range(5):
print(i)
输出:
0
1
2
3
4
range()
用法:
range(5)
:生成[0, 1, 2, 3, 4]
。range(1, 6)
:生成[1, 2, 3, 4, 5]
,从 1 开始,到 6(不包括 6)。range(1, 10, 2)
:生成[1, 3, 5, 7, 9]
,步长为 2。
嵌套 for
循环
for
循环可以嵌套,用于处理多层数据。
示例:打印乘法表
for i in range(1, 4): # 外层循环
for j in range(1, 4): # 内层循环
print(f"{i} * {j} = {i * j}")
while
循环
while
循环在条件为真时反复执行代码块。如果条件为假,循环结束。
语法
while 条件:
# 循环体,执行的代码
示例:计算 1 到 10 的总和
sum = 0 #计算结果
num = 1 #存储数字的变量
while num <= 10:
print(f"此时的num是:{num}")
sum += num #等价于 sum=sum+num
print(f"sum加上num以后是:{sum}")
num += 1 #等价于 num=num+1
print(f"总和是 {sum}")
输出:
总和是 55
控制循环:break
和 continue
break
:提前退出循环
在循环中遇到 break
时,循环会立即结束。
示例:找到第一个大于 5 的数
numbers = [1, 3, 5, 7, 9]
for num in numbers:
if num > 5:
print(f"找到大于 5 的数:{num}")
break
输出:
找到大于 5 的数:7
continue
:跳过本次循环,继续下一次
continue
会跳过当前循环的剩余代码,直接进入下一次循环。
示例:跳过偶数
for i in range(1, 6):
if i % 2 == 0:
continue
print(i)
输出:
1
3
5
for
和 while
的对比
for
循环:用于遍历已知的序列或集合。while
循环:用于重复执行某个逻辑,直到条件不再满足。
选择使用时的原则:
- 如果知道循环的次数或范围,优先使用
for
。 - 如果需要依据条件控制循环是否继续,使用
while
。
循环的应用实例
1. 计算列表中所有元素的平方
numbers = [1, 2, 3, 4]
squares = []
for num in numbers:
squares.append(num ** 2)
print(squares)
输出:
[1, 4, 9, 16]
2. 用 while
实现简单的登录系统
correct_password = "python123"
attempts = 3
while attempts > 0:
password = input("请输入密码:")
if password == correct_password:
print("密码正确,欢迎登录!")
break
else:
attempts -= 1
print(f"密码错误,你还有 {attempts} 次机会")
if attempts == 0:
print("多次尝试失败,账户已锁定。")
注意事项
避免死循环:
- 在
while
循环中,确保条件会在某个时刻变为假,否则程序会无限运行。 - 示例(错误代码):
while True: print("这是死循环!")
- 在
for
循环中的变量不会影响外部变量:- 示例:
for i in range(3): print(i) print(i) # 在 Python 中,i 仍然保留最后的值
- 示例:
理解循环效率:
- 如果可能,优先用列表推导式代替复杂的嵌套循环,提高代码的可读性和运行效率。
总结
for
:遍历已知的集合、序列,用来迭代执行。while
:在条件满足时循环,用于处理动态逻辑。- 合理选择循环方式,掌握控制语句(
break
和continue
),能够让代码更高效、更灵活。