Python - while 循环
2023-09-17 22:15:05
Python 使用 while
和 for 关键字构成条件循环,通过该循环,重复执行语句块,直到指定的布尔表达式为 true。
以下是 while 循环语法。
语法:while [boolean expression]: statement1 statement2 ... statementN
Python 关键字 while 有一个条件表达式,后跟:
符号,以增加缩进开始块。
此块具有要重复执行的语句。这样的块通常被称为循环的主体。身体将继续执行,直到条件评估为 True
。如果结果是False
,程序将退出循环。
下面的示例演示了一个 while 循环。
num =0
while num < 5:
num = num + 1
print('num = ', num)
输出:
num = 1
num = 2
num = 3
num = 4
num = 5
在这里,while 语句之后的重复块涉及递增整数变量的值并打印它。在块开始之前,变量 num 初始化为 0。直到小于 5,num 递增 1 并打印以显示数字序列,如上所示。
循环主体中的所有语句必须以相同的缩进开头,否则将引发IndentationError
。
num =0
while num < 5:
num = num + 1
print('num = ', num)
输出:
print('num = ', num)
^
IndentationError: unexpected indent
退出 While 循环(Exit from the While Loop)
使用 break
关键字在特定情况下退出 while 循环。使用 if 条件确定何时退出 while 循环,如下所示。
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
输出:
num = 1
num = 2
num = 3
继续下一次迭代(Continue Next Iteration)
使用 continue
关键字开始下一次迭代,并在某些条件下跳过 continue
语句后面的语句,如下所示。
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)
输出:
num = 1
num = 2
num = 3
虽然循环与 else 块(While Loop with else Block)
else
块可以遵循while
循环。当 while
循环的布尔表达式计算结果为 False
时,将执行 else 块。
使用 continue
关键字开始下一次迭代,并在某些条件下跳过 continue
语句后面的语句,如下所示。
num = 0
while num < 3:
num += 1 # num += 1 is same as num = num + 1
print('num = ', num)
else:
print('else block executed')
输出:
num = 1
num = 2
num = 3
else block executed
下面的 Python 程序依次从用户那里获取一个数字作为输入并计算平均值,只要用户输入一个正数即可。在这里,重复块(循环的主体)要求用户输入一个数字,累积添加它,如果它是非负数,则保留计数。
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)
当用户提供负数时,循环终止并显示到目前为止提供的数字的平均值。 上述代码的示例运行如下:
输出:
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
本文内容总结: