while循环的语法格式如下:
[init statements]
while test_expression:
body statements
[literation_statements]
while 循环在每次执行循环体之前,都要先对 test_expression 循环条件求值,如果循环条件为真,则运行循环体部分。从上面的语法格式来看,选代语句iteration_statements 总是位于循环体的最后,因此只有当循环体能成功执行完成时,while循环才会执行选代语句iteration statements。
从这个意义上看,while 循环也可被当成分支语句使用。如果test_expression条件一开始就为假,则循环体部分将永远不会获得执行的机会。
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2024/01
# @Author : Laopi
#循环的初始化条件
i = 0
#当i小于10的时候,执行循环体
while i<10:
print("i:",i)
#迭代语句
i+=1
print("循环结束")
在使用while循环时,一定要保证循环条件有变成假的时候;否则这个循环将成为一个死循环,永远无法结束这个循环。例如如下代码
i2 = 0
#当i小于10的时候,执行循环体
while i2<10:
print("不停地执行死循环i:",i2)
#迭代语句
i2-=1
print("循环结束永远结束不了")
在上面代码中i2的值越来越小,这将导致i2的值永远小于10,i2<10循环条件一直为True,从而导致这个循环永远无法结束。
与前面介绍分支语句类似的是,while 循环的循环体中所有代码必须使用相同的缩进,否则Python也会引发错误。例如如下程序。
#循环的初始化条件
i = 0
#当i小于10的时候,执行循环体
while i<10:
print("i:",i)
#迭代语句
i+=1
print("循环结束")
运行上面程序,将会看到执行一个死循环。这是由于i+=1代码没有缩进,这行代码就不属于循环体。这样程序中的counti将一直是0从而导致count i<10一直都是True因此该循环就变成了一个死循环。