Python 中,while 循环和 if 条件分支语句相似,即在条件(表达式)为真的状况下,会执行相应的代码块。不一样之处在于,只要条件为真,while 就会一直重复执行那段代码块。

while 语句的语法格式以下:python

while 条件表达式:

代码块网络

这里的代码块,指的是缩进格式相同的多行代码,不过在循环结构中,它又称为循环体。

while 语句执行的具体流程为:首先判断条件表达式的值,其值为真(True)时,则执行代码块中的语句,当执行完毕后,再回过头来从新判断条件表达式的值是否为真,若仍为真,则继续从新执行代码块...如此循环,直到条件表达式的值为假(False),才终止循环。

while 循环结构的执行流程如图所示。学习


例如,打印 1~100 的全部数字,就可使用 while 循环,实现代码以下:spa

#循环的初始化条件
num = 1
#当 num 小于100时,会一直执行循环体
while num < 100:print("num=", num)#迭代语句
num += 1
print("循环结束!")

运行程序会发现,程序只输出了 1~99,却没有输出 100。这是由于,当循环至 num 的值为 100 时,此时条件表达式为假(100<100),固然就不会再去执行代码块中的语句,所以不会输出 100。

注意,在使用 while 循环时,必定要保证循环条件有变成假的时候,不然这个循环将成为一个死循环。所谓死循环,指的是没法结束循环的循环结构,例如将上面 while 循环中的num += 1代码注释掉,再运行程序你会发现,Python 解释器一直在输出"num= 1",永远不会结束(由于 num<100 一直为 True),除非咱们强制关闭解释器。

再次强调,只要位于 while 循环体中的代码,其必须使用相同的缩进格式(一般缩进 4 个空格),不然 Python 解释器会报 SyntaxError 错误(语法错误)。例如,将上面程序中num+=1语句前移一个空格,再次执行该程序,此时 Python 解释器就会报 SyntaxError 错误。

除此以外,while 循环还经常使用来遍历列表、元组和字符串,由于它们都支持经过下标索引获取指定位置的元素。例如,下面程序演示了如何使用 while 循环遍历一个字符串变量:code

my_char="hello world"i=0;while i

i= i + 1

程序执行结果为:视频

hello worldblog