前言 :
目录:
While 循环的基础:
- While 的条件需要得到布尔类型,True表示继续循环,False 表示结束循环。
- 需要设置循环终止的条件,如i +=1 配合 i<100,就能确保 100次后停止,否则陷入死循环
- 空格缩进和 if 判断一样,都需要设置
i = 0 # while i < 100: # print("马致远,我喜欢你 ") # i += 1
While 嵌套循环:
While 条件1:
条件1满足时,做的事情1
条件2 满足时,做的事情2
…………………………………………..
While 条件2:
条件2满足时,做的事情1
条件2 满足时,做的事情2
条件3 满足时,做的事情3
…………………………………………….
演示while while 嵌套循环使用 # i = 1 # while i < 100: # print(f"今天是第{i}天,准备表白") # #内层循环 # j = 1 # while j <= 10: # print(f"送给小美的第{j},玫瑰花") # j +=1 # print("小美我喜欢你") # i += 1 # print(f"今天是{i}天,表白成功")
For循环:
For 循环 和while 循环 完成的功能基本差不多,但仍有一些区别:
While 循环条件是自定义的,自行控制循环条件 ,for 循环是一种
“轮询”机制,是对一批内容进行“逐行处理”。 遍历循环“输入”字符串,直到结束
#演示for 循环基础语法 # name = 'jtemwitem' # for x in name: # print (x)输出结果:
j
t
e
m
w
i
t
e
m
For 循环就是将“待办事项” ,逐个完成的循环机制。
同 while 循环不同,for循环是无法定义循环条件的。
只能从被处理的数据集中,依次取出内容进行处理。
while 循环可以定义循环条件
i = 1
# while i < 100:
for 循环
# for x in range(5, 10): # 从5开始,到10结束(不包括10 本身)的一个数字序列 # print(x,end = ' '
# end = ' ' 可以让python 输出的结果不换行
输出结果是: 5 6 7 8 9
理论上讲for循环无法构建无限循环(被处理的数据集不可能无限大) 【意思呢! range ( ) 括号里面的内容总是有限的】
语法中的: 待处理数据集,严格来说,称之为:序列类型序列类型指,其内容可以一个个依次取出的一种类型,包括:字符串 列表 元组 等……
i = 0 #开头需要定义i
For x in range (0,5)
Print (x)
Print(x) # 如果在开头未定义i= 0 不建议在这里写print()语句,如果定义了可以因为 i print 同级别,i = 0 会覆盖掉 for循环内层的0
双 while 循环(for 循环嵌套) :
打印 9*9 乘法表:
# i = 1 # # i 代表行, j 代表每行数据 # while i <= 9: # j = 1 # while j < i: # print(f"{j}*{i} " ,end = '') # j += 1 # i +=1 # print()
双 for循环:
# for i in range (1,101): # print(f"今天是第{i}天,准备表白") # for j in range(1,11): # print(f"送给小美的第{j},玫瑰花") # print(f"小美我喜欢你的第{i}天,表白结束") # print(f"今天是{i}天,表白成功")内嵌循环 : 注意看缩进 ,颜色一致 为同一级别, 橘色是属于黄色的,黄色是属于浅绿色。
for 内嵌while循环:
利用for 嵌套循环 打印九九乘法表 # i = 1 # #通过外层循环控制行数 # for i in range (1,10): # #通过内层循环控制每一行的数据 # j = 1 # while j < i: # #在内层循环中输出每一行的内容 # print(f"{j}*{i} ",end = '') # j += 1 # #外层循环可以通过print输出一个回车符 # print()释义:for 和 while 语法不同 但是可以表达同样效果:
for 循环输出 1 到 10 for x in range(10)/(1,10): print (x) while 循环输出 1 到 10 i = 0 while i < 10: i += 1 print(i)
continue 和break 关键字控制循环 :
Continue 关键字控制循环
Continue 关键字用于: 中断本次循环,直接进入下一次循环。
Continue 可以用于: for 循环和while 循环 ,效果不一致
For I in range (1,100):
语句 1
for i in range (1,50)
语句2
Continue
语句3
在循环内,遇到continue 就结束当次循环,进行下一次【这一次还是属于当前层次循环 例如: 语句2 内的循环遇到coninue ,下次执行新的循环 ,还是从 for i in range (1,50)】
#演示continue 的嵌套语句 # for i in range(1,6): # print("语句1") # for j in range (1,6): # print("语句块2") # continue # print("语句块3") # print("语句块4")所以,语句3不会执行的,但不影响语句块4执行,语句块4 比语句块 2 和 3 高一个等级
输出结果:
语句1
语句块2
语句块4
应用场景:
在循环中,因为某些原因,临时结束本次循环。
break 关键字 的作用是:
遇见 break 语句 不管你还有多少次循环还没有结束 ,直接中断循环。
#演示循环中断语句 break for i in (1,101): print ("语句块1") break #遇见 break 语句 不管你还有多少次循环还没有结束 ,直接中断循环,执行到和首循环for 同级的print() 输出语句 。 for j in (1,5): print("语句块2") print("语句块3")
continue 嵌套语句操作效果:
注意: 对比 break 和 continue 在嵌套语句中的效果, 如果 本层循环中出现了 break ,直接跳出 本层循环,执行下一层,如果 本层循环中出现了continue 只会结束本次循环,如果本层循环中还有为执行语句,终止操作,开启新的一次。
应用场景:
结束当前所作用的循环,暴力终止
3注意事项:
在嵌套循环中,只能作用在所在的循环上,无法对上层循环起到作用。
综合案例 完成发工资案例:(break 和 continue if else for循环)
某公司,账户余额有10000元,给20名员工 发工资
for x in range(1,21):
题目要求:员工编号 1 到 20 ,编号从1开始依次领取,每人每次领取 工资 1000元
for x in range(1,21):
领工资时,财务判断员工的绩效分(1-10)(随机生成)
num = random.randint(1, 10)
如果低于5 不发工资,换下一位
if num < 5
print(f"员工{x},绩效分{num},低于5,不发工资下一位")
如果10000元发完了,结束发工资。
if Salary < 1000:
print(f"余额不足,当前余额:{Salary}元")
break
# import random # Salary = 10000 # count = 1000 # for x in range(1,21): # num = random.randint(1, 10) # if num < 5: # print(f"员工{x},绩效分{num},低于5,不发工资下一位") # continue # if Salary >=1000: # Salary -=count # print(f"向员工{x}发放工资1000元,账户余额{Salary}") # else: # print(f"余额不足,当前余额:{Salary}元") # break
总结:
学习内容来源于 黑马程序员网络学习视频,领取最新 2022版Python+大数据最新最全学习路线图
敬请关注 黑马程序员 如有侵权,请联系删除