python中有时要多次重复执行一个操作
比如,打印10次Hello world!
固然你可以把print('Hello world!')这个命令复制粘贴10行
但如果让你打印全校上万学生的姓名,你又要复制多少行呢?
一个老练的程序员总会选择更效率的方法
【while语句】
while循环是一种基本的控制流语句,它允许程序在满足特定条件时重复执行一段代码。
当条件为True时,while循环内的代码块会不断执行,直到条件变为False为止
例如
# coding: utf-8
while(True):
print(1)
程序会陷入死循环并且一直打印1
这时可以同时按下键盘的ctrl+c键强行停止程序
while语句在执行时,会判断括号里的布尔值是否为真,如果为真则执行后面的代码段,当该段代码运行结束,又回到while,继续判断括号里是否为真,如此循环往复
因此只要while括号里的条件一直为真,程序就会循环往复地重复下去,就像一个打开的水龙头一直出水一样
那么怎么让程序停下来呢?
我们需要控制while的条件,让它在经过一定次数的循环/或者达成某个事件后,判断条件的布尔值从真变成假,while条件为假时,后面的语句就不再执行(这点跟if语句类似)
例如:打印1-10的整数
# coding: utf-8
i=1
while(i<=10):
print(i)
i = i+1
这里,i=i+1是一个经典的自增赋值操作,这在数学上是一个不成立的等式,所以我们要特别解释一下
在程序设计中,它的含义是:把i原本的值加1,然后存在i这个变量中
假如i的值现在是1
i=i+1的含义等同于i=1+1,因此计算机会把2赋值给i
我们再来分析一下这段程序:
i=1 这句话把i的初始值赋为1
while(i<=10): 这行判断i的值是否小于等于10,如果是,则依次执行后面缩进中的语句
print(i) 打印i的值,现在为1,所以打印1
i=i+1 i的值加1变为2
接下来根据while的特性,会回到:
while(i<=10): 判断i的值是否小于等于10,注意到这时i=2,式子的布尔值仍然是真
print(i) 打印i的值,打印2
i=i+1 i变为3
…
…
…
print(i) 经过几次循环,假设i这里变为了10,那么打印10
i=i+1 i变为11
while(i<=10): i这时等于11,它是大于10的,i<=10返回的布尔值是False,因此退出循环
至此,屏幕上留下的结果就是分行打印了1、2、…、10
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。