python 中,循环能帮助开发者用更少的代码编写更多逻辑,例如,我要执行十次一摸一样的功能,如果不用循环的情况下,我需要写十次一摸一样的代码,这样会让我们的代码变的更加繁琐,没有一点简洁性和优美性。

既然要写循环,那么肯定要有条件,当满足一定的条件的时候,才会执行循环,就算条件再差,至少也要告诉 python ,我要执行多少次循环,所以循环是有条件的,与流程控制一样,其实可以把循环也看作是流程控制的分支。

循环以 while 关键字开头,当满足条件的时候执行 while 里面的代码,如:

a = 0
while a <= 10 :
    print(a)
    a += 1

以上例子会依次打印出从 0 ~ 10 的数字,共 11 次,至于缘由是因为,只要变量 a 小于 10 或者 a 等于 10 他都会执行一次循环里面的代码,每次执行的时候我都让 a + 1 ,当超出设定的 10 之后,他就等于跳出循环了,所以就不会执行了。

还有一种循环是死循环,就是无法跳出条件的循环叫做死循环,例如上面的例子,换个思路,a <= 10 如果是正确的其实他就是一个 True 所以才会执行循环,死循环,就是让直接把条件设置成 True 那么就一直循环了,如:

a = 0 
while True : 
    print(a) 
    a += 1

如上方所示,这样 a 的值会无止境的 + 1 ,直到计算机内存崩溃死机为止。

所谓的死循环就是无止境的循环,但其实死循环也是可以控制的,在某些条件下如果我不想继续死循环了,其实我还可以直接终止循环,在 while 循环里面给我们提供了两个方法,如:

break :用于完全结束一个循环,跳出循环体执行循环后面的语句
continue :和 break 相似,区别在于 continue 只是终止本次循环,接着还执行后面的循环,而 break 则是完全终止。

来两个例子,如:

a = 0
while a <=100 :
    print(a)
    if a == 5 :
        break
    a += 1
print('循环结束')

执行结果如下:

python 写一个while循环 循环5次 python while循环10次_python3


一旦在一个循环体内部执行有关键字 break 他就会自动结束。

第二个例子:

a = 0
while a <=100 :
    print(a)
    if a == 5 :
        continue
    a += 1
print('循环结束')

这是一个非常有意思的结果,结果如下:

python 写一个while循环 循环5次 python while循环10次_python3_02


实际上他会结果是,从 0 ~ 4 之后,他会陷入一个死循环,然后永远打印出,5,那是因为执行 continue 之后他立马跳出当前循环,在 continue 后面的 a += 1 永远也不会派上用场,再次执行一次循环,然后因为 a 并没有变成 6 所以他又回到了上一次循环以此继续无限循环下去,直到关闭 python 服务或者电脑死机才会终止。

python 中的 while 循环中,其实还支持一个 else 语句,和 if ... else ... 不同,在 pythonwhile 里的 else ,是在整个循环运行结束后才会执行,并且中间不能有 break 终止循环,否则跳出循环外,else 则不被执行,如:

a = 0
while a <= 10 :
    a += 1
    print(a)
else:
    print('整个循环语句结束')
print('这是一个循环外的程序')

执行结果如下:

python 写一个while循环 循环5次 python while循环10次_python_03


以上运行结果是在正常运行情况下的结果,如果 while 中有 break 终止的话,那么 else 就永远不会执行,而是执行循环外的语句,如:

a = 0
while a <= 10 :
    a += 1
    if a == 5 :
        break
    print(a)
else:
    print('整个循环语句结束')
print('这是一个循环外的程序')

以上实例运行结果如下:

python 写一个while循环 循环5次 python while循环10次_跳出循环_04


可以看到如果 while 中有 break 的话,else 里面的程序就不会执行了,而是会跳出整个循环,继续往下执行。

这就是 python 中的 while 循环了。