程序的循环结构

一、概述

  • 遍历循环
  • 无限循环
  • 循环控制保留字
  • 循环的高级用法

二、遍历循环

遍历某个结构形成的循环运行方式

for <循环变量> in <遍历结构>:
    <语句块>
  • 从遍历结构中逐一提取元素,放在循环变量中
  • 由保留字forin组成,完整遍历所有元素后结束
  • 每次循环,所获得元素放入循环变量,并执行

025-程序的循环结构-01.jpg?x-oss-process=style/watermark

三、遍历循环的使用

3.1 计数循环(N次)

格式:

for i in range(N):
    <语句块>
  • 遍历由range()函数产生的数字序列,产生循环

eg:

for i in range(5):
    print(i)

结果:

0
1
2
3
4

3.2计数循环(待定次)

格式:

fro i in range(M,N,K):
    <语句块>
  • 遍历由range()函数产生的数字序列,产生循环

eg

for i in range(1, 6):
    print(i)

结果:

1
2
3
4
5

eg

for i in range(1, 6, 2):
    print('hello:', i)

结果:

hello: 1
hello: 3
hello: 5

3.3 字符串遍历循环

格式:

for c  in  s: 
    <语句块>
  • s是字符串,遍历字符串每个字符,产生循环

eg:

for c in 'python':
    print(c, end=',')

结果:p,y,t,h,o,n,

3.4 列表遍历循环:

格式:

for item  in  ls:
    <语句块>
  • ls是一个列表,遍历其每个元素,产生循环
for item in [123, "PY", 456]:
    print(item, end=",")

结果:123,PY,456,

3.5 文件遍历循环

格式:

for line in  fi:
    <语句块>
  • fi是一个文件标识符,遍历其每行,产生循环

'# fi.txt'

优美胜于丑陋
明了胜于隐晦
简洁胜于复杂

eg:

for line in fi:
    print(line)

结果:
优美胜于丑陋
明了胜于隐晦
简洁胜于复杂

四、无限循环

由条件控制的循环运行方式

025-程序的循环结构-02.jpg?x-oss-process=style/watermark

  • 反复执行语句块,直到条件不满足时结束

eg:

a = 3
while a > 0:
    a = a - 1
    print(a)

结果:

2
1
0

# 死循环, (CTRL + C 退出执行) 
a = 3
while a > 0:
    a = a + 1
    print(a)

五、循环控制保留字

5.1 break和continue

  • break跳出并结束当前整个循环,执行循环后的语句
  • continue结束当次循环,继续执行后续次数循环
  • break和continue可以与for和while循环搭配使用

eg: for

for c in "PYTHON":
    if c == 'T':
        continue
    print(c, end=',')

结果:P,Y,H,O,N,

for c in "PYTHON":
    if c == 'T':
        break
    print(c, end=',')

结果:P,Y,

eg:while

  • break仅跳出当前最内层循环
s = "PYTHON"
while s != "":
    for c in s:
        print(c, end=',')
    s = s[:-1]

结果:P,Y,T,H,O,N,P,Y,T,H,O,P,Y,T,H,P,Y,T,P,Y,P,

s = "PYTHON"
while s != "":
    for c in s:
        if c == 'T':
            break
        print(c, end=',')
    s = s[:-1]

结果:P,Y,P,Y,P,Y,P,Y,P,Y,P,

六、循环的高级用法

6.1循环的扩展

循环与else

格式: for....else

for <变量> in <遍历结构>:
    <语句块1>
else:
    <语句块2>

格式:while....else

while <条件>:
    <语句块1>
else:
    <语句块2>
  • 当循环没有被break语句退出时,执行else语句块
  • else语句块作为"正常"完成循环的奖励
  • 这里else的用法与异常处理中else用法相似

eg:

for c in "PYTHON":
    if c == "T":
        continue
    print(c, end="")
else:
    print("正常退出")

结果:PYHON正常退出

eg:

for c in "PYTHON":
    if c == "T":
        break
    print(c, end="")
else:
    print("正常退出")

结果:PY

七、单元小结

  • for…in 遍历循环:计数、字符串、列表、文件…
  • while无限循环
  • continuebreak保留字:退出当前循环层次
  • 循环else的高级用法:与break有关
posted @ 2019-07-17 17:12  RandySun  阅读(717)  评论(0编辑  收藏  举报