什么是循环
有条件的重复执行某个事物
循环的作用
让代码重复高效执行
循环的分类
循环结构主要有两种:for循环和while循环。
for循环
用途
遍历序列(如列表、元组、字符串、字典等)或其他可迭代对象。
使用场景
- 当你想要在循环的某个特定条件下提前退出循环时,break语句非常有用
- 它常用于搜索,数据过滤或任何形式的迭代处理,其中一旦找到所需的信息或达到某个条件,就没有必要继续循环
注意事项
- 在for循环中,循环变量在每次迭代时都会被赋予新的值,但循环结束后,它保留的是序列中的最后一个值(如果序列不为空)。
- 尽量避免在循环体内修改正在遍历的序列(如添加或删除元素),因为这可能会导致意外的行为,如RuntimeError: dictionary changed size during iteration。
- 对于需要同时遍历索引和元素的情况,可以使用enumerate()函数。
range函数说明
- range(101):可以用来产生1到100范围的整数,需要注意的是取不到101
- range(1,101):可以用来产生1到100范围的整数,相当于前面是闭区间,后面是开区间
- range(1,101,2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值
- range(100,0,-2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值
"""
循环结构 ---> for-in循环
Author: sym
Date: 2026/1/23
"""
# range(start, end)
# for i in range(100):
for i in range(1,101):
print(i, 'hello world')
print(i, 'goodbye world')
# 1-100求和
# print(sum(range(1,101)))
total = 0
for i in range(1,101):
total += i
print(total)
# 1-100的偶数求和
total = 0
for i in range(1,101):
if i % 2 == 0:
total += i
print(total)
# 输入两个正整数,找出它们的最大公约数
# 求最大公约数:两个数所有公共因子中最大的数
x = int(input('x = '))
y = int(input('y = '))
for i in range(x, 0, -1):
if x%i == 0 and y % i == 0:
print(i)
break # 终止循环
while循环
使用场景
- 不知道具体的循环次数,
- 允许你执行一段代码,知道指定的条件不再满足
- 需要在循环体中根据某些条件动态的改变循环的控制变量
注意事项
- 避免无限循环:确保循环条件在某种情况下会变为假,以避免无限循环
- 注意变量作用域:在循环体内定义的变量在循环外部是不可见的(除非它们被声明为全局变量或作为非局部变量捕获)
- 性能考虑:如果循环体内的代码非常复杂或耗时,并且循环次数非常多,那么while循环可能会影响程序的性能,在这种情况下考虑优化循环体或者使用其他数据结构或算法来减少循环次数
i = 0
while True:
print('hello, world')
上边的代码会进入到死循环,无法停止
i = 0
while i < 10:
print('hello, world')
i += 1
注意:break和continue都是退出循环的方法,但二者有所不同,break:终止整个循环结构;continue:终止本次循环,继而进入下一个循环