注:本笔记来自B站黑马程序员的Python课程
第五节:循环语句
第一节:Python介绍
第二节:pycharm的基本使用
第三节:基础语法
第四节:分支语句
零、章节概述
目标
- 使用循环语句结构完成“累加求和”案例
- 使用循环语句结构完成“回文数”案例
- 使用循环嵌套语句结构完成“九九乘法表”案例
特征
-
反复做某件事
-
具有明确的开始与停止标志
循环概念
循环是程序设计语言中反复执行某些代码的一种计算机处理过程
一、while结构
1、语法格式
while 条件:
反复执行代码
……
例如
# 通常使用循环变量来控制循环的执行次数
i = 1
# 循环从while开始,后面添加条件
while i <= 5:
# while下面添加要反复执行的语句
print ("hello python")
i += 1
2、执行原理
二、循环变量与死循环
1、循环变量控制
从0开始
i = 0
while i < 5:
print("hello python")
i += 1
2、死循环
(1)如果循环语句未设置合理的退出条件,则循环语句构成死循环,程序将永久执行下去。
例如
i = 0
while i < 5:
print("hello python")
i += 1
(2)死循环的应用场景
- qq软件服务提供商
- 银行软件服务提供商
- 电力系统
- 导弹防御系统
- 电视机遥控信号接收装置
- ……
3、案例
(1)完成“数字累加求和”程序
要求:求100以内的所有数字和
思考:
-
100以内是几到几?
-
如何求和?和放在什么地方?
-
如何构造反复求和的操作?
# 分析
# 1、100以内从1到100
# 2、求和操作的结果保存到变量里面,sum = sum + 操作数 (num)
# 3、反复操作其实就是循环着进行
num = 1
sum = 0
while num <= 100:
sum = sum + num
num += 1
print("一到一百的和是%d" % sum)
(2)计算所有3位数中35的倍数的数值的和
num = 100
sum = 0
while num <= 999:
if num % 35 == 0 :
sum += num
num += 1
循环学习误区
不是尝试帮助计算机进行运算,在计算机面前你的那点儿计算能力都不够塞牙缝的。
(3)完成“打印所有3位回文数”程序
①要求
如果一个人数字从左侧读和从右侧读是同一个数,则该数字即为回文数。
②思考:
- 所有的三位数是几到几?
- 如何判断是不是回文数?
③分析
-
3位回文数从100到999
-
回文数特征,百位数字和各位的数字相同;
-
打印满足特征的数字
④代码
# #求一个数字的百位数字
# x = 789
# print (x // 100)
# # 求一个数字的个位数字
# print(x % 10)
i = 100
while i <= 999:
#取出数字的百位和各位进行比较,如果相同就打印
a = i // 100
b = i % 10
#判断a和b是否相同,如果相同打印
if a == b :
print(i)
i += 1
(4)回文数输出格式改造
i = 100
while i <= 999:
a = i // 100
b = i % 10
if a == b :
print(i,end = ",")
# end表示用这个符号来隔开每个结果
i += 1
end后面的引号里面是什么符号,就表示用什么符号隔开结果;
如果end后面的引号里面没有符号,那么结果就不会隔开,成为一长串数字。
三、循环的终止与跳出
1、break
(1)break的功能
结束当前循环
(2)例如
i = 1
while i <= 10:
#如果到5,则终止循环
if i == 5 :
break
print("查数:%d" % i)
i += 1
print("结束")
(3)示意图
2、continue
(1)continue的功能
结束本轮循环
注意:break与continue必须出现在循环体中。
(2)例如
# continue的功能
i = 0
while i < 10:
i += 1
# 如果碰到5,则直接跳过,查下面的数字
if i == 5 :
continue
print("查数:%d" % i)
print("结束")
(3)示意图
四、循环嵌套
1、语法格式:
while 条件:
while 条件:
反复执行的代码
……
2、例如
j = 1
while j <= 5:
i = 1
while i <= 3:
print(i)
i += 1
j += 1
3、案例
完成“九九乘法表”程序
(1)分析
①单行信息的组成: %d * %d = %d
②使用循环结构完成单个信息的多次输出
③使用循环结构完成单行信息的多次输出
(2)代码
j = 1
while j <= 9:
i = 1
while i<=j:
print("%d * %d = %d"% (i, j, i * j),end = "\t") \t
i += 1
print()
j += 1
五、循环嵌套中的break和continue
break和continue仅能控制其所在的循环,不能控制其他循环结构
六、目标检测
- 使用循环语句结构完成“回文数”案例
- 使用循环语句结构完成“累加求和”案例
- 使用循环嵌套语句结构完成“九九乘法表”案例
- 使用循环语句结构完成“回文数”案例
- 使用循环语句结构完成“累加求和”案例
- 使用循环嵌套语句结构完成“九九乘法表”案例