Python学习笔记(六)循环
一、while循环
1.while在给定的判断条件为True时执行循环体,否则退出循环体
1 flag = True 2 while flag: 3 print('正确') 4 flag = False # 条件真改为假
示例:计算1-100的偶数和
1 count = 1 2 sum_num = 0 3 while count <= 100: 4 if count % 2 == 0: # 去除奇数 5 sum_num += count # 将每一个偶数进行累加 6 count += 1 # 更改计数器 放到if外 每一个数都要累加 7 print(f'1-100的偶数和:{sum_num}') # 退出循环打印最后累加值
2.break终止循环
示例:打印1-10,打印到8时,停止打印
1 # 打印到8时 停止打印 2 count = 1 3 while count <= 10: 4 print(count) 5 if count == 8: 6 print('停止打印') 7 break 8 count += 1
3.continue跳出当前循环,进行下一次循环
示例:打印1-10,打印到4时,跳过
1 # 打印到4时 跳过4打印后面的 2 count = 0 3 while count < 10: 4 count += 1 5 if count == 4: 6 print('不打印4') 7 continue 8 print(count)
示例:九九乘法表
1 a = 1 2 while a <= 9: 3 b = 1 4 while b < a + 1: 5 print(f'{b}*{a}={b * a}', end='\t') 6 b += 1 7 print() # 换行 8 a += 1
运行:

4.while...else...
else是循环正常结束之后要执行的代码,如果是break终止循环的情况,else下面缩进的代码将不执行
continue只是跳过当前循环,继续下次循环,循环可以正常结束,else下面缩进的代码可移植性
示例:
1 i = 1 2 while i <= 5: 3 if i == 3: 4 print('i==3时打印') 5 # break # 主动终止程序 不算循环正常执行结束 6 # i += 1 7 # continue 8 print('重复打印') 9 i += 1 10 else: # 循环正常执行结束时执行的代码 11 print('这是else部分')
二、for循环
1.语法
- for循环可以遍历任何序列的项目,如一个列表或者字符串
- for循环必须遍历可迭代对象,如a='123456789',tup=(1,2,3,4,5,6)等,int、float等不是可迭代对象
- 语法规则:
for 临时变量 in 待处理数据集:
重复执行代码
示例:
1 li = [1, 2, 3, 4, 5, 6, 7, 8, 9] 2 for i in li: 3 print(i)
2.range()函数
for循环本质上是遍历“序列类型”,但是使用range语句,可以获得一个简单的数字序列
range()语法:
range(num1,num2,step)
num1:起始值,默认为0,可更改
num2:终止值,但不包括本身,[num1,num2) range()函数的范围是左闭右开、
step:步长,默认为1,可更改,数据类型必须为整型
示例:
1 for i in range(1, 10): 2 print(i / 10)
3.for循环中continue 和 break 的用法与while循环相似
示例:
1 li = ['马自达', '马自达', '马自达', '马自达', '马自达', '劳斯莱斯', '劳斯莱斯', '劳斯莱斯','劳斯莱斯'] 2 for i in li: 3 if i == '劳斯莱斯': 4 print('碰见劳斯莱斯了') 5 # continue 6 break 7 print('正在刷马自达...')
与while循环略有不同,for循环一般是有限循环
示例1:求1-100的偶数和
1 sum_num = 0 2 for i in range(0, 101, 2): 3 sum_num += i 4 print(sum_num)
示例2:求5的阶乘
1 5 != 5 * 4 * 3 * 2 * 1 2 result = 1 3 for i in range(1, 6, 1): 4 result *= i 5 print(result)
示例3:九九乘法表
1 for i in range(1, 10, 1): 2 for j in range(1, 10, 1): 3 if j < i + 1: 4 print(f'{j}*{i}={j * i}', end='\t') 5 print()

浙公网安备 33010602011771号