Python循环语句
一、while 循环
1、基础语法
2、嵌套应用
二、for 循环
1、基础语法
2、嵌套应用
三、循环中断:break 和 continue
1、break
2、continue
四、综合案例
一、while 循环
1、基础语法
- while的条件需得到布尔类型,True表示继续循环,False表示结束循环
- 需要设置循环终止的条件,如i += 1配合 i < 100,就能确保100次后停止,否则将无限循环
- 空格缩进和if判断一样,都需要设置
练习题 1
代码示例
# 练习题1:求1-100和 sum = 0 n = 1 while n <= 100:sum += nn += 1 print(f"1加到100的和为:{sum}")
输出
练习题 2
代码示例
# 练习题2:猜数字(无限次机会) import random num = random.randint(1, 100) # 定义一个变量总共猜了几次 count = 0 # 通过一个布尔类型变量,做循环是否循环的标记 flag = True while flag:guess_num = int(input("输入你要猜测的数字:"))count += 1if guess_num == num:print("恭喜你,猜中了!!!") # 设置为False就是终止循环条件flag = Falseelse:if guess_num > num:print("你猜的大了")else:print("你猜的小了") print(f"你总共猜测了{count}次")
输出
2、嵌套应用
语法
- 同判断语句的嵌套一样,循环语句的嵌套,要注意空格缩进。
- 基于空格缩进来决定层次关系
- 注意条件的设置,避免出现无限循环(除非真的需要无限循环)
- print输出不换行: print语句中加上 end=‘ ’
- 输出对齐:添加 \t 制表符
练习题
代码示例
# 定义外层循环控制变量 i = 1 while i <= 9:# 定义内层循环变量j = 1while j <= i:# 不换行,用\t制表符进行对齐print(f"{j}*{i}={j * i}\t", end='')j += 1i += 1# 控制换行的输出print()
输出
二、for 循环
1、基础语法
(1)for循环是一种”轮询”机制,是对一批内容进行”逐个处理”
- 从待处理数据集中:逐个取出数据赋值给临时变量
- 无法定义循环条件,只能被动取出数据处理
- 要注意,循环内的语句,需要有空格缩进、
代码示例
# 统计以下字符串有多少个"a" name = "csdn Professional IT technology publishing platform" count = 0 for x in name:if x == "a":count += 1 print(f"该字符串里有{count}个'a'")
输出
(2)range 语句
语法1
range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
for i in range(5):print(i) # 0 1 2 3 4
语法2
range(num1,mun2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
for i in range(5, 10):print(i) # 5 6 7 8 9
语法3
range(num1, num2, step)
- 获得一个从num1开始,到num2结束的数字序列(不含num2本身)
- 数字之间的步长,以step为准(step默认为1)
for i in range(5, 10, 2):print(i) # 5 7 9
练习题
代码示例
# 练习题 count = 0 num = int(input("请输入一个数:")) for x in range(1, num):if x % 2 == 0:count += 1 print(f"1到{num}(不包含{num}本身)范围内,有{count}个偶数")
输出
规范:如果在循环外访问变量,需要再循环之前对变量进行定义
2、嵌套应用
和需要注意缩进,通过缩进,确定层次关系
练习题
代码示例
# 定义外层循环控制变量 for i in range(1, 10):# 定义内层循环变量for j in range(1, i + 1):# 不换行,用\t制表符进行对齐print(f"{j}*{i}={j * i}\t", end='')# 控制换行的输出print()
输出
和 while 循环比,代码更加简洁了!
Tips:for 循环和 while 循环可以相互嵌套使用
三、循环中断:break 和 continue
1、break
直接结束所在循环,它所在的循环永久中断
代码示例
# break的使用 只要遇到整体结束 for i in range(1,3):print("语句1")for j in range(1, 3):print("语句2")breakprint("语句3") # 此代码不可到达print("语句4")
输出
2、continue
中断本次循环,直接进入下一次循环(只可以控制:它所在的循环临时中断)
代码示例
# continue的嵌套应用 只要遇到 此次结束 for i in range(1, 3):print("语句1")for j in range(1, 3):print("语句2")continueprint("语句3") # 此代码不可到达print("语句4")
输出
四、综合案例
练习题
代码示例
# 定义账户余额变量 money = 10000 # for循环对员工发放工资 for i in range(1, 21):import randomscore = random.randint(1,10)if score < 5:print(f"员工{i}绩效分{score},不满足,不发工资,下一位")# 跳过发放continue# 要判断余额足不足if money >= 1000:money -= 1000print(f"员工{i},满足条件,发放工资1000,公司账户余额:{money}")else:print(f"余额不足,当前余额:{money}元,不足以发工资,不发了,下个月再来")# 结束发放break
输出