Python while循环
Python while循环
Python 使用while和作为关键字来构成一个条件循环,通过这个循环重复执行一个语句块,直到指定的布尔表达式为真。
以下是 while循环语法。
Syntax:
while [boolean expression]: statement1 statement2 ... statementN
Python 关键字 while 有一个条件表达式,后跟:符号,以增加缩进开始一个块。 该块有要重复执行的语句。这样的块通常被称为循环体。身体将继续执行,直到情况评估为True。如果结果是False,程序将退出循环。 以下示例演示了 while循环。
Example: while loop
num =0 while num < 5: num = num + 1 print('num = ', num)
Output
num = 1 num = 2 num = 3 num = 4 num = 5
在这里,while 语句之后的重复块包括递增一个整型变量的值并打印它。在块开始之前,变量 num 被初始化为 0。直到它小于 5,num 递增 1 并打印出来以显示数字序列,如上所示。
循环体中的所有语句必须以相同的缩进开始,否则会引发IndentationError。
Example: Invalid Indentation
num =0 while num < 5: num = num + 1 print('num = ', num)
Output
print('num = ', num) ^ IndentationError: unexpected indent
退出 while循环
在某些情况下,使用break关键字退出 while循环。使用 if 条件确定何时退出 while循环,如下所示。
Example: Breaking while loop
num = 0 while num < 5: num += 1 # num += 1 is same as num = num + 1 print('num = ', num) if num == 3: # condition before exiting a loop break
Output
num = 1 num = 2 num = 3
继续下一次迭代
使用continue关键字开始下一次迭代,在某些条件下跳过continue语句之后的语句,如下所示。
Example: Continue in while loop
num = 0 while num < 5: num += 1 # num += 1 is same as num = num + 1 if num > 3: # condition before exiting a loop continue print('num = ', num)
Output
num = 1 num = 2 num = 3
同时用其他块循环
else块可以跟随while循环。当while循环的布尔表达式计算为False时,将执行 else 块。
使用continue关键字开始下一次迭代,在某些条件下跳过continue语句之后的语句,如下所示。
Example: while loop with else block
num = 0 while num < 3: num += 1 # num += 1 is same as num = num + 1 print('num = ', num) else: print('else block executed')
Output
num = 1 num = 2 num = 3 else block executed
下面的 Python 程序连续地从用户那里获取一个数字作为输入,并计算平均值,只要用户输入一个正数。这里,重复块(循环的主体)要求用户输入一个数字,累计相加,如果不是负数,则保持计数。
Example: while loop
num=0 count=0 sum=0 while num>=0: num = int(input('enter any number .. -1 to exit: ')) if num >= 0: count = count + 1 # this counts number of inputs sum = sum + num # this adds input number cumulatively. avg = sum/count print('Total numbers: ', count, ', Average: ', avg)
当用户提供负数时,循环终止并显示到目前为止提供的数字的平均值。下面是上述代码的运行示例:
Output
enter any number .. -1 to exit: 10 enter any number .. -1 to exit: 20 enter any number .. -1 to exit: 30 enter any number .. -1 to exit: -1 Total numbers: 3, Average: 20.0
评论关闭