根据循环执行次数的确定性,循环可以分为确定次数循环和非确定次数循环。确定次数循环指循环体对循环次数有明确的定义循环次数采用遍历结构中元素个数来体现。
Python通过保留字for实现“遍历循环” :
for <循环变量> in <遍历结构>: <语句块>遍历结构可以是字符串、文件、组合数据类型或range函数:
(1)计数循环(N次) for i in range(N): <语句块>--遍历由range()函数产生的数字序列,产生循环
for i in range(5):print(i)结果:
(2)计数循环(特定次) for i in range(N,M,K): <语句块>
--遍历由range()函数产生的数字序列,产生循环
(其中range()的用法和String的用法一样)
for i in range(1,6): print("hello:",i)print("*****************")for j in range(1,6,2): print("hello:",j)
结果:
(3)字符串遍历循环 for c in s : <语句块>--s是字符串,遍历字符串每个字符,产生循环
for c in "python": print(c,end=",")结果为:
注:end表示不换行,为末尾end加一个end=“”双引号里面的字符串
(4)列表遍历循环 for item in ls: <语句块>--ls是一个列表,遍历某每个元素,产生循环
for item in [123,"python",456]: print(item,end=",") (5)文件遍历中的每一行for line in fi: <语句块>
--fi是一个文件标识符,遍历其每行,产生循环
遍历循环还有一种扩展模式,使用方式如下: for <循环变量> in <遍历结构>: <语句块1>else: <语句块2> 当for循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行之后才执行并结束,因此,可以在<语句块2>中放置判断循环执行情况的语句。for s in "hello": print("循环进行中:"+s)else: s ="循环结束"print(s)
结果为:
2. 无限循环:while语句 无限循环:
无限循环一直保持循环操作直到特定循环条件不被满足才结束,不需要提前知道确定循环次数。
Python通过保留字while实现无限循环,使用方法如下:
while <条件>: <语句块>语句块
注:如果计入死循环可以 ctrl+c(退出执行)
a=5while a>0: print(a) a=a-1
结果为:
a=5while a>0: print(a) a=a+1
结果:一直在执行
无限循环也有一种使用保留字else的扩展模式: while <条件>: <语句块1>else: <语句块2> a=5while a>0: print(a) a=a-1else: print("循环正常结束")
3. 循环保留字 循环结构有两个辅助保留字:break和continue,它们用来辅助控制循环执行break用来跳出最内层for或while循环,脱离该循环后程序从循环后代吗继续续执行
其中,break语句跳出了最内层for循环,但仍然继续执行外层循环。每个break语句只有能力跳出当前层次循环
for s in "python": for i in range(5): print(s,end="") if s=="t": breakcontinue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。对于while循环,继续求解循环条件。而对于for循环,程序流程接着遍历循环列表
对比continue和break语句,如下:
for s in "python": if s=="t": continue print(s,end="")or s in "python": if s=="t": break print(s,end="")
continue语句和break语句的区别是: continue语句只结束本次循环,而不终止整个循环的执行。break语句则是结束当前最内层循环过程,不再判断执行循环的条件是否成立