
3.3.1 while循环
循环语句是程序设计中常用的语句之一。任何编程语言都有while循环,Python也不例外。while循环的格式如下所示。
01 while(表达式): 02 … 03 else: 04 …
while循环的执行过程:当循环表达式为真时,依次执行while中的语句。直到循环表达式的值为False,程序的流程转到else语句。其中else子句可以省略,表达式两侧的括号也可以省略。
注意 while循环中的else子句也属于循环的一部分,最后一次循环结束后将执行else子句。
下面这段代码演示了while循环的使用。程序首先要求输入5个数字,然后依次输出这5个数字。
01 # while循环 02 numbers = input("输入几个数字,用逗号分隔:").split(",") 03 print(numbers) 04 x = 0 05 while x < len(numbers): # 当x的值小于输入字数的个数的时候,执行循环内容 06 print (numbers[x]) 07 x += 1 # 一个循环结束时给x加1
【代码说明】
·第2行代码使用input()捕获输入。按照提示输入5个数字,并用逗号分隔。input()根据输入的逗号,生成一个列表。
·第3行代码输出列表numbers的内容。
·第4行代码定义变量x的值为0。
·第5行代码循环列表numbers。
·第6行代码输出列表中第x+1个数字的值。
·第7行代码,每次循环使变量x增1。
下面【例3-6】中的这段代码演示了else子句在while循环中的使用。当变量x的值大于0时,执行循环,否则输出变量x的值。
【例3-6.py】
01 # 带else子句的while循环 02 x = float(input("输入x的值:")) # 接收用户输入的数字并转换为float类型 03 i = 0 04 while(x != 0): # Python 3中的不等于不再使用<>,一律使用!= 05 if(x > 0): 06 x -= 1 # 如果x大于0,则减1 07 else: 08 x += 1 # 如果x小于0,则加1 09 i = i + 1 10 print( "第%d次循环:%f" %(i, x)) 11 else: 12 print ("x等于0:", x)
【代码说明】
·第2行代码输入变量x的值。
·第3行代码定义变量i,变量i表示循环次数。
·第4行代码,给出循环条件x!=0。如果x不等于0,则执行第5行代码;否则,执行else子句的内容。
·第5行代码,判断变量x的值是否大于0。
·第6行代码,如果x的值大于0,则每次循环都减1。
·第7行代码,判断变量x的值是否小于0。
·第8行代码,如果x的值小于0,则每次循环都加1。
·第9行代码,每次循环使变量i的值加1。
·第11行代码,循环结束,else子句输出变量x的值。输出结果(假设输入数字为0):x等于0:0。
在使用循环语句时,应注意循环表达式的布尔值,避免出现死循环。死循环是指循环条件永远为真的循环。例如:
01 i = 1 02 while i > 0: # i永远大于0 03 i = i + 1 04 print(i)
这段代码就是一个死循环,变量i的值永远都大于0。