分类
文章

Python While循环语法,用法和实践示例

本教程介绍了Python while循环及其语法,并提供了在相关情况下使用它的示例。

与for循环不同,该循环最多可以运行一个no。在迭代过程中,while循环依赖于条件来完成执行。

返回☛Python 教程

在编码时,可能会出现一些情况,您可能不知道循环的起点。例如,一个程序要求用户无限次输入直到他按下ESC键或读取文件直到找到特定令牌为止。

1。什么是Python While循环?

while循环是一种控制流结构,它反复执行不定编号的代码块。直到给定条件变为假的时间。例如,假设您要计算一个范围内奇数的出现。一些技术参考将其称为预测试循环,因为它在每次迭代之前都会检查条件。

1.1。Python While循环–语法

while some condition (or expression) :
    a block of code

该语法清楚地表明Python首先评估条件。

如果检查失败,则控件将不会进入循环,而是将转移到下一条语句。如果条件通过,则循环内的语句应执行。

该循环将重复进行,直到while条件失败或返回false为止。当发生这种情况时,循环将中断并将控制权传递给下一个可执行语句。

1.2。Python While循环工作流程
1.3。Python中的While循环–示例

本示例展示了如何计算用户输入的范围(不包括端点)中的奇数出现的次数。


#custom debug print function
def dbgprint(x):
    if debug == True:
        print(x)

#ask user to enter the range values
debug = False
r1 = int(input("Enter the starting range value?"))
r2 = int(input("Enter the ending range value?"))
         
dbgprint("Range: %d - %d" % (r1, r2))

num = r1 + 1
count = 0

while num < r2:
    dbgprint("num: %d" % (num))
    res = num % 2
    dbgprint("res: %d" % (res))
    if (num % 2) > 0:
        count += 1
    num += 1

print("Odd count: %d" % (count))

完成上述代码的执行后,您将看到以下输出。


Enter the starting range value? 1
Enter the ending range value? 100
Odd count: 49

在此程序中,我们使用以下四个变量。

1. r1 –起始范围值

2. r2 –结束范围值

3. num –我们正在测试的变量为奇数

4. count –计数器变量,在每次阳性测试时递增

我们用起始偏移量加1初始化了”num”变量,并用零初始化了counter变量。循环正在测试”num”是否仍小于结束偏移值,否则它将中断。

在每次迭代中,循环内的代码块都在计算”num”变量的余数。非零结果将意味着数字为奇数,而”count”变量将增加一。

while循环中的最后一条语句将”num”的值加1,然后重新执行。仅在”num”的值等于或大于终止范围偏移量(即”r2″)后,循环才停止。

2。带有Python While循环的其他子句

在Python中,我们可以在”while”循环结束后添加可选的else子句。

else子句中的代码将始终运行,但是在while循环完成执行之后。它不会运行的一种情况是,如果循环在”break”语句之后退出。

当您希望在while循环结束后执行一组指令时(即不使用break语句),可以使用else子句。

现在让我们看一个示例,以演示在Python while循环中使用”else”的情况。

2.1。在Python中使用While进行While循环–示例

def while_else_demo():

    count = 0
    while count < 5 :
        num = int(input("Enter number between 0-100?"))
        if (num < 0) or (num > 100):
            print("Aborted while: You've entered an invalid number.")
            break
        count += 1
    else:
        print("While loop ended gracefully.")

while_else_demo()

上面的程序运行while循环,直到计数小于5。

它需要输入0-100之间的数字。如果输入5次有效数字,则while循环将成功运行,并且会显示else子句中的消息。

如果输入无效数字,则循环将中止而不执行else中的代码。

Iteration#1 While循环成功完成,并执行”else”子句。


Enter number between 0-100?1
Enter number between 0-100?2
Enter number between 0-100?3
Enter number between 0-100?4
Enter number between 0-100?5
While loop ended gracefully.

Iteration#2 While循环异常中止,”else”子句将不会执行。


Enter number between 0-100?1
Enter number between 0-100?101
Aborted while: You've entered an invalid number.

Python中的While循环–摘要

在本教程中,我们介绍了”Python while Loop”,并提供了在实际Python程序中使用它的示例。如果您对此主题有任何疑问,请写信给我们。

推荐文章:

发表评论

电子邮件地址不会被公开。 必填项已用*标注