1. 什么是循环

情人节跟女朋友表白,说一万遍”亲爱的,我爱你”

  1. print("亲爱的,我爱你")
  2. print("亲爱的,我爱你")
  3. print("亲爱的,我爱你")
  4. ...(还有99997遍)...

使用循环语句一句话搞定

  1. i = 0
  2. while i < 10000:
  3. print("亲爱的,我爱你")
  4. i += 1
  • 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
  • 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环。

Python中,循环有两中形式,while和for

2. while循环

如上面的例子所示,while循环,满足while后面的条件时,分支内容执行,执行完了会返回来再判断一遍条件,如果还满足,继续执行,知道不满足了,退出循环
应用:

1. 计算1~100的累积和(包含1和100)

参考代码如下:

  1. i = 1
  2. sum = 0
  3. while i <= 100:
  4. sum = sum + i
  5. i += 1
  6. print("1~100的累积和为:%d" % sum)

2. 计算1~100之间偶数的累积和(包含1和100)

参考代码如下:

  1. i = 1
  2. sum = 0
  3. while i <= 100:
  4. if i % 2 == 0:
  5. sum = sum + i
  6. i+=1
  7. print("1~100的累积和为:%d" % sum)

这里注意,循环和判断语句相结合,这几个是工作中常用的。

3. 嵌套循环

上一节学过if语句的嵌套,这里是一样的。用缩进表示层级。
最最常见的笔试题,写出99乘法表
image.png
用代码如何实现,有想法吗?

  1. i = 1
  2. while i<=9:
  3. j=1
  4. while j<=i:
  5. print("%d*%d=%-2d " % (j, i, i*j), end = '')
  6. j+=1
  7. print('\n')
  8. i+=1

3. for循环

像while循环一样,for可以完成循环的功能。
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。

3-1. for循环的格式

  1. for 临时变量 in 列表或者字符串等:
  2. 循环满足条件时执行的代码
  3. else:

3-2. 遍历一切可以遍历的对象

在讲变量那一节,曾创建了一个武当派,今天我们可以用循环,看一下武当派有哪些东西

  1. list1 = ['张三丰', '宋远桥、俞莲舟、俞岱岩、张松溪、张翠山、殷梨亭、莫声谷', '太极拳', '太极剑']
  2. for i in list1:
  3. print(i)
  4. 执行结果:
  5. '''
  6. 张三丰
  7. 宋远桥、俞莲舟、俞岱岩、张松溪、张翠山、殷梨亭、莫声谷
  8. 太极拳
  9. 太极剑
  10. '''

4. 循环几时休,break与continue

  • continue:用来结束本次循环,紧接着执行下一次的循环
  • break:用来结束break所在的整个循环
  • 不管是for循环,还是while循环,break和continue都适用

    4-1. break

    ```python ‘1. for循环,还是武当的例子’ list1 = [‘张三丰’, ‘宋远桥、俞莲舟、俞岱岩、张松溪、张翠山、殷梨亭、莫声谷’, ‘太极拳’, ‘太极剑’] for i in list1:

    if i == ‘太极拳’:

    1. break

    print(i) 当遍历到太极拳时,退出了整个循环,所以只打印了太极拳之前的元素

‘2. while循环’ ‘以说一万遍我爱你表白的例子,假设说到第100遍的时候,女朋友就感动的忍不住了,吻上了你,后面不用再说了’ i = 1 while i < 10000: print(“亲爱的,我爱你”)

  1. if i == 100:
  2. break
  3. i += 1
  1. <a name="I5G3n"></a>
  2. #### 4-2. continue
  3. ```python
  4. '1. for循环,还是武当的例子.遍历武当派,不输出张三丰'
  5. list1 = ['张三丰', '宋远桥、俞莲舟、俞岱岩、张松溪、张翠山、殷梨亭、莫声谷', '太极拳', '太极剑']
  6. for i in list1:
  7. if i == '张三丰':
  8. continue
  9. print(i)
  10. 当遍历到张三丰时,退出了当前循环,直接进入下一次循环