循环的作用
- 让代码更高效的重复执行
循环的分类
- 在Python中,循环分为 while 和 for 两种,最终实现效果相同
while循环
while 条件:
条件成立重复执行的代码1
条件成立重复执行的代码2
……
循环的应用:求累加和
# 求1~100的和
num = 1
sum = 0
while num <= 100:
sum += num # 累加和
num += 1 # 计数器加1
print(sum)
输出结果
5050
- 循环计数器一般从0开始
# 求1~100中偶数的累加和
num = 1
sum = 0
while num <= 100:
if num % 2 == 0:
sum += num
num += 1
print(sum)
输出结果
2550
循环注意
- 循环应该有结束条件,不然是死循环
break 和 continue
- break 和 continue 是循环中满足一定条件退出循环的两种不同方式。
break
- 终止此循环
i = 1
while i <= 5:
if i == 4:
print(f'今天是星期{i},从今以后不再做作业了')
break # 第四天,没有做作业,后面也放弃了
print(f"今天是星期{i},作业做完了")
i += 1
输出结果
今天是星期1,作业做完了
今天是星期2,作业做完了
今天是星期3,作业做完了
今天是星期4,从今以后不再做作业了
continue
- 退出当前一次循环继而执行下一次循环代码
i = 1
while i <= 5:
if i == 4:
print(f'今天是星期{i},休息一天,明天继续写作业')
i += 1
continue
print(f'今天是星期{i},作业做完了')
i += 1
输出结果
今天是星期1,作业做完了
今天是星期2,作业做完了
今天是星期3,作业做完了
今天是星期4,休息一天,明天继续写作业
今天是星期5,作业做完了
- 使用 continue ,需要注意循环条件增量,修改计数器,不然容易造成死循环
while 循环嵌套
while 条件1:
条件1成立执行的代码
……
while 条件2:
条件2成立执行的代码
……
条件1成立执行的代码
……
- 所谓while循环嵌套,就是一个while里面嵌套另一个while的写法,每个while和之前的基础语法是相同的
i = 1
while i <= 9:
j = 1
while j <= i:
print(f'{j} * {i} = {i * j}',end='\t')
j += 1
print()
i += 1
输出结果
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
for 循环
for 临时变量 in 序列:
重复执行的代码1
重复执行的代码2
……
str1 = 'hello'
for temp in str1:
print(temp)
输出结果
h
e
l
l
o
break终止for循环
str1 = 'hello'
for temp in str1:
if temp == 'l':
break
print(temp)
输出结果
h
e
continue结束一次for循环
str1 = 'hello'
for temp in str1:
if temp == 'l':
continue
print(temp)
输出结果
h
e
o
循环中的else
- 当循环正常结束之后要执行的代码
- 使用continue结束一次循环,else中的代码正常执行
- 使用break结束循环,else中的代码不执行
while……else
while 条件:
条件成立重复执行的代码
else:
循环正常结束之后要执行的代码
循环正常结束,执行else中的代码
i = 0
while i < 5:
print('吃了一个苹果')
i += 1
else:
print('吃饱了')
输出结果
吃了一个苹果
吃了一个苹果
吃了一个苹果
吃了一个苹果
吃了一个苹果
吃饱了
使用continue结束一次循环,else中的代码正常执行
i = 0
while i < 5:
if i == 3:
print("遇到一个虫子,这个不吃了,继续吃下一个苹果")
i += 1
continue
print('吃了一个苹果')
i += 1
else:
print('吃饱了')
输出结果
吃了一个苹果
吃了一个苹果
吃了一个苹果
遇到一个虫子,这个不吃了,继续吃下一个苹果
吃了一个苹果
吃饱了
使用break结束循环,else中的代码不执行
i = 0
while i < 5:
if i == 3:
print("遇到半个虫子,心里堵得慌,不吃了")
break
print('吃了一个苹果')
i += 1
else:
print('吃饱了')
输出结果
吃了一个苹果
吃了一个苹果
吃了一个苹果
遇到半个虫子,心里堵得慌,不吃了
for……else
for 临时变量 in 序列:
重复执行的代码
else:
循环正常结束执行的代码
循环正常结束,执行else的代码
str1 = 'hello'
for temp in str1:
print(temp)
else:
print('循环正常结束')
输出结果
h
e
l
l
o
循环正常结束
使用continue结束一次循环,else中的代码正常执行
str1 = 'hello'
for temp in str1:
if temp == 'l':
continue
print(temp)
else:
print('循环正常结束')
输出结果
h
e
o
循环正常结束
使用break结束循环,else中的代码不执行
str1 = 'hello'
for temp in str1:
if temp == 'l':
break
print(temp)
else:
print('循环正常结束')
输出结果
h
e
网友评论