一、while循环#

1. 程序的三种执行流程#

程序的执行流程有三种,分别是:顺序执行分支执行循环执行

  • 顺序 —— 从上向下,顺序执行代码
  • 分支 —— 根据条件判断,决定执行代码的分支
  • 循环 —— 让 特定代码 重复 执行

2. while循环#

循环的作用是让指定的代码重复的执行 while 循环最常用的应用场景就是 让执行的代码 按照 指定的次数 重复 执行

while循环的基本语法#

需求:

1
2
3
4
5
6
需求:
跟媳妇承认错误,说一万遍"媳妇儿,我错了"
 print("媳妇儿,我错了") 
 print("媳妇儿,我错了") 
 print("媳妇儿,我错了") 
 ...(还有99997遍)...

循环代码的实现:

1
2
3
4
5
6
7
8
# 1.定义循环变量
i = 1
# 2.使用while判断条件
while i<=10000:
    # 要重复执行的代码
    print('媳妇儿,我错了')
    # 3.修改循环变量
    i += 1

循环变量和死循环#

对于上面的代码i就是循环变量,循环变量的主要作用是控制循环什么时候停下来

一般情况下,程序中的计数是从0开始的,所以上面的代码通常我们可以写成下面这种:

1
2
3
4
5
6
7
8
# 1.定义循环变量
i = 0
# 2.使用while判断条件
while i<10000:
    # 要重复执行的代码
    print('媳妇儿,我错了')
    # 3.修改循环变量
    i += 1

死循环指的是程序持续执行,无法终止,原因通常是忘记在循环内部修改循环变量的值

比如:

1
2
3
4
5
6
# 1.定义循环变量
i = 0
# 2.使用while判断条件
while i<10000:
    # 要重复执行的代码
    print('媳妇儿,我错了')

和正常代码相比,在循环内部忘记修改循环变量,那么循环条件一直满足,循环就会一直执行

死循环在程序中也有一定的使用场景,可以保证程序不会停止

比如:

QQ的服务器要保证能一直接收到消息,通常内部会有死循环支持

再比如做界面开发时,为了保证界面能一直显示,内部也通常会维护一个死循环

死循环最简单的写法如下:

1
2
while True:
    pass

其中pass是python的空语句,只是为了保证语法的完整,并没有实际意义

3. 打印菱形#

打印菱形

1
2
3
4
5
*****
****
***
**
*

代码:

1
2
3
4
5
6
row = int(input("请输入打印的行数: "))
n = row
while n >= 0:
    x =  "*" * n
    print(x)
    n -= 1

打印菱形

1
2
3
4
5
*
**
***
****
*****

代码:

1
2
3
4
5
n = int(input("Enter the number of rows: "))
i = 1
while i <= n:
    print("*" * i)
    i += 1

打印菱形

1
2
3
4
5
*****
 ****
  ***
   **
    *

代码:

1
2
3
4
5
6
7
row = int(input("Enter the number of rows: "))
n = row
while n >= 0:
    x = "*" * n
    y = " " * (row - n)
    print(y + x)
    n -= 1

4. break和continue#

breakcontinue是专门在循环中使用的关键字

break:某一条件满足时,不再执行循环体中后续重复的代码,并退出循环 continue:某一条件满足时,不再执行本次循环体中后续重复的代码,但进入下一次循环判断

break

1
2
3
4
5
6
i = 0
while i < 5:
    if i == 3:
        break # 5后面的数据都不会输出
    print(i)
    i += 1

结果:

1
2
3
0
1
2

continue

1
2
3
4
5
6
i = 0
while i < 5:
    i += 1
    if i-1 == 3:
        continue # 除了3都会输出
    print(i-1)

结果:

1
2
3
4
0
1
2
4

5. 嵌套循环#

while 嵌套就是:while 里面还有 while

while循环嵌套的格式如下:

代码如下:

1
2
3
4
5
6
7
8
9
# 外层循环
i = 0
while i < 5:
    # 内层循环
    j = 0
    while j<3:
        print(j)
        j+=1
    i += 1