目录
1、循环简介
1.1 循环的作用
1.2 循环的分类
2、while的语法
3、while应用
3.1实例应用1——计算1-100累加和
3.2 实例应用2——计算1-100偶数累加和
方法1:条件判断和2取余数则累加
方法2:计数器控制
4、break和continue
4.1 二者区别举例
4.1.1 break实现情况①
4.1.2 continue实现情况②
5、while循环嵌套
5.1 语法
5.2 执行流程
5.3 while循环嵌套应用
6、For循环
6.1 语法
6.2 实例应用
6.3 break
6.4 continue
6.5 range()函数
7、else
7.1 while...else
7.1.1 语法
7.1.2 代码示例
7.2 for...else
7.2.1 语法
7.2.2 代码示例
总结:
循环的作用:让代码更高效的重复执行。
在Python中,循环分为while和for两种,最终实现效果相同。
while 条件:
条件成立重复执行的代码1
条件成立重复执行的代码2
......
分析:即1 + 2 + 3 + 4 +….,即前两个数字的相加结果 + 下一个数字( 前一个数字 + 1)。
# 准备数据
i = 1
# 结果变量
result = 0
# 循环
while i <= 100:
# 加法运算 前两个数的结果+第三个数--每计算一次加法则更新一次result的变量值
result += i
i = i + 1
# 打印最终结果
print(result)
运行后得出如下结果: 5050
分析:1-100的偶数和,即2+4+6+8+......,得到偶数的方法如下:
偶数即是和2取余结果为0的数字,可以加入条件语句判断是否为偶数,为偶数则累加
初始值为0/2,计算器每次累加2
# 步骤:
# 1、准备累加的数字 开始是1 结果100 增量为1
# 2、准备保存结果的变量是result
# 3、循环加法运算--如果是偶数才加法运算--和2取余为0
# 4、输出结果
# 5、验证结果
# 方法一:
i = 1
result = 0
while i <= 100:
# 条件语句
if i % 2 == 0:
# 加法运算
result += i
i += 1
# 输出结果
print(result)
输出结果:2550。
# 分解步骤:
# 1、准备累加数据
# 2、准备存储结果的变量
# 3、循环计算
# 4、输出结果
# 方法二:计数器控制增量为2
i = 0
result = 0
while i <= 100:
result += i
i += 2
print(result)
输出结果为2550。
break和continue是循环中满足一定条件退出循环的两种不同方式。
举例:一共吃5个苹果,吃完第一个,吃第二个…,这里"吃苹果"的动作就可以理解为重复执行。
i = 1
while i <= 5:
if i == 4:
print(f'吃饱了不吃了')
break
print(f'吃了第{i}个苹果')
i += 1
执行结果:
i = 1
while i <= 5:
if i == 3:
print(f'有虫子,第{i}个不吃了') # 在continue之前一定要修改计数器,否则会陷入死循环
i += 1
continue
print(f'吃了第{i}个苹果')
i += 1
执行结果如下:
while 条件1:
条件1成立执行的代码
......
while 条件2:
条件2成⽴执行的代码
......
总结:所谓while循环嵌套,就是一个while里面嵌套一个while的写法,每个while和之前的基础语法是相同的。
外部父循环条件判定为真之后,才会按流程执行内部子循环条件。当内部循环执行完成之后,再执行下一次外部循环的条件判断,循环执行,直至被判定外部父循环条件为假,退出父循环。
程序开始执行----->遇到父循环条件判定成立,执行父循环冒号下方带缩进的代码 ----->当遇到子循环条件后判定成立,重复执行......直到子循环条件不成立,退出子循环----->开始新一轮的父循环条件判别,若判定条件成立,则继续执行下方代码及子循环的判定,条件成立则继续执行,直到子循环条件不成立退出子循环,又开始新一轮的父循环......直至父循环条件判定不成立,循环结束。
注意:当子循环内部执行完成后才会执行下一次父循环的条件判断。
练习:九九乘法表
# 重复打印9行表达式
j = 1
while j <= 9:
# 打印一行里面的表达式 a * b = a*b
i = 1
while i <= j:
print(f'{i}*{j}={j*i}', end='\t')
i += 1
print()
j += 1
执行结果如下:
for 临时变量 in 序列:
重复执行的代码1
重复执行的代码2
......
str1 = 'Eurasia'
for i in str1:
print(i)
执行结果:
str1 = 'Eurasia'
for i in str1:
if i == 's':
print('遇到s不打印')
break
print(i)
str1 = 'Eurasia'
for i in str1:
if i == 's':
print('遇到s不打印')
continue
print(i)
for i in range(10): #循环0-9次
print(i)
else:
print('循环完成')
# 执行结果如下:
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码。
while 条件:
条件成立重复执行的代码
else:
循环正常结束之后要执行的代码
i = 1
while i <= 5:
print(f'吃了第{i}个苹果')
i += 1
else:
print('终于吃饱了哈哈哈')
for 临时变量 in 序列:
重复执行的代码
...
else:
循环正常结束之后要执行的代码
str1 = 'Eurasia'
for i in str1:
print(i)
else:
print('循环正常结束之后执行的代码')
执行结果:
while 条件:
条件成⽴重复执行的代码1
条件成⽴重复执行的代码2
......
while 条件1:
条件1成立执行的代码
......
while 条件2:
条件2成立执行的代码
......
for 临时变量 in 序列:
重复执行的代码1
重复执行的代码2
......
while和for都可以配合else使用;
else下方缩进的代码含义:当循环正常结束后执行的代码
break终止循环不会执行else下方缩进的代码;
continue退出循环的方式执行else下方缩进的代码。