🎶博客主页:程序喵正在路上 的博客主页
🦋欢迎关注🖱点赞👍收藏🌟留言🐾
🦄本文由 程序喵正在路上 原创,CSDN首发!
💖系列专栏:Python学习
🌠首发时间:2022年4月29日
✅如果觉得博主的文章还不错的话,希望小伙伴们三连支持一下哦
要点:Python通过for、while等保留字提供遍历循环和无限循环的结构。
根据循环执行次数的确定性,循环可以分为确定次数循环和非确定次数循环。确定次数循环指循环体对循环次数有明确的定义,这类循环在 Python 中被称为 “遍历循环”,其中,循环次数采用遍历结构中的元素个数来体现,具体采用 for 语句实现。非确定次数循环指程序不确定循环体可能的执行次数,而通过条件判断是否继续执行循环体,Python 提供了根据判断条件执行程序的无限循环,采用 while 语句实现。
遍历循环:for 语句
Python 通过保留字 for 实现 “遍历循环”,基本使用方法如下:
for <循环变量> in <遍历结构>:
<语句块>
之所以称为 “遍历循环”,是因为 for 语句的循环执行次数是根据遍历结构中元素个数确定的。遍历循环可以理解为从遍历结构中逐一提取元素 ,放在循环变量中,对于所提取的每个元素执行一次语句块。
遍历结构可以是字符串、文件、组合数据类型或 range() 函数等,常用的使用方式如下:
循环 N 次
for i in range(N):
<语句块>
遍历文件 f 的每一行
for line in f:
<语句块>
遍历字符串 s
for c in s:
<语句块>
遍历列表 ls
for item in ls:
<语句块>
遍历循环还有一种扩展模式,使用方法如下:
for <循环变量> in <遍历结构>:
<语句块1>
else:
<语句块2>
在这种扩展模式中,当 for 循环正常执行之后,程序会继续执行 else 语句中的内容。else 语句只在循环正常执行并结束后才执行,因此,可以在 <语句块2> 中放置判断循环执行情况的语句。后面我们会结合 continue 和 break 语句进一步讲解 for 语句中 else 的用法。这里先给出一个小例子:
for s in "BIT":
print("循环进行中:" + s)
else:
s = "循环正常结束"
print(s)
程序运行结果如下:
循环进行中:B
循环进行中:I
循环进行中:T
循环正常结束
无限循环:while 语句
很多应用无法在执行之初确定遍历结构,这需要编程语言提供根据条件进行循环的语法,称为无限循环,又称条件循环。无限循环一直保持循环操作直到循环条件不满足才结束,不需要提前确定循环次数。
Python 通过保留字 while 实现无限循环,基本使用方法如下:
while <条件>:
<语句块>
其中条件与 if 语句中的判断条件一样,结果为 True 和 False。
while 语义很简单,当条件判断为 True 时,循环体重复执行语句块中语句;当条件为 False 时,循环终止,执行与 while 同级别缩进的后续语句。
无限循环也有一种使用保留字 else 的扩展模式,使用方法如下:
while <条件>:
<语句块 1>
else:
<语句块 2>
在这种扩展模式中,当 while 循环正常执行后,程序会继续执行 else 语句中的内容。else 语句只在循环正常执行后才执行,因此,可以在语句块 2 中放置判断循环执行情况的语句,例如:
s = "BIT"
idx = 0
while idx < len(s):
print("循环进行中:" + s[idx])
idx += 1
else:
s = "循环正常结束"
print(s)
运行结果如下:
循环进行中:B
循环进行中:I
循环进行中:T
循环正常结束
如果通过 while 实现-一个计数循环,需要在循环之前对计数器 idx 进行初始化,并在每次循环中对计数器 idx 进行累加。对比一下, 在 for 循环中循环变量逐一取自遍历结构,不需要程序维护计数器。
循环保留字:break 和 continue
循环结构有两个保留字: break 和 continue,它们用来辅助控制循环执行。
break 用来跳出最内层 for 或 while 循环,脱离该循环后程序从循环代码后继续执行,例如:
for s in "BIT":
for i in range(10):
print(s,end=' ')
if s == "I":
break
程序执行后的结果如下:
B B B B B B B B B B I T T T T T T T T T T
其中,break 语句跳出了最内层 for 循环,但仍然继续执行外层循环。每个 break 语句只有能力跳出当前层次循环。
continue 用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。对于 while 循环,继续求解循环条件。而对于 for 循环,程序流程接着遍历循环列表。对比 continue 和 break 语句,如下:
for s in "PYTHON":
if s == "T":
continue
print(s,end=' ')
程序执行后的结果如下:
P Y H O N
for s in "PYTHON":
if s == "T":
break
print(s,end=' ')
P Y
continue 语句和 break 语句的区别是,continue 语句只结束本次循环,而不终止整个循环的执行;而 break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
for 循环和 while 循环中都存在一个 else 扩展用法。else 中的语句块只在一种条件下执行,即循环正常遍历了所有内容或由于条件不成立而结束循环,没有因为 break 或 return (函数返回中使用的保留字) 而退出。continue 保留字对 else 没有影响。看下面两个例子:
for s in "PYTHON":
if s == "T":
continue
print(s,end=' ')
else:
print("正常退出")
P Y H O N 正常退出
for s in "PYTHON":
if s == "T":
break
print(s,end=' ')
else:
print("正常退出")
P Y
🧸这次的分享就到这里啦,继续加油哦^^
🍭有出错的地方欢迎在评论区指出来,共同进步,谢谢啦