打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python While Loop
userphoto

2024.01.06 浙江

关注

Python While Loop – 初学者完整指南

洪较瘦不着调退役it人
2023-10-13 11:08

Python While Loop – 初学者完整指南

5分钟

Python while 循环及其语法,。

for 循环不同。在迭代中,while 循环依赖于一个条件来完成执行。

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

  • 什么是 While 循环?
  • 带有 while 循环和 else 语句

1. 什么是 Python While Loop?

while 循环是一种控制流结构,它无限期地重复执行代码块 no。直到给定条件变为假的次数。例如,想计算一个范围内奇数的出现次数。一些技术参考称其为预测试循环,因为它在每次迭代之前都会检查条件。

1.1. Python while 循环 – 语法

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

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

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

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

1.2. Python 循环工作流

1.3. Python 中的 while 循环 – 示例

此示例演示如何计算用户输入的范围内(不包括终结点)中奇数的出现次数。


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. 计数 – 计数器变量,在每次阳性测试时递增

我们已经初始化了“num”变量,起始偏移量加一,计数器变量初始化为零。循环正在测试“num”是否小于结束偏移值,否则它将中断。

在每次迭代中,循环中的代码块正在计算“num”变量的其余部分。非零结果意味着该数字是奇数,并且“count”变量将增加 1。

while 循环中的最后一条语句将 “num” 的值增加 2,然后重新执行。只有在“num”的值等于或大于结束范围偏移量(即“r<>”)时,循环才应停止。

2. Else 子句与 Python While 循环

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

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

当您希望在 while 循环结束后执行一组指令时,即不使用 break 语句,使用 else 子句是有意义的。

现在让我们看一个示例来演示在 Python while 循环中使用 “else”。

2.1. 在 Python 中使用 else 循环 – 示例

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 中的代码。

迭代#1 虽然循环以成功完成,而“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.

迭代 #2 而循环中止和“else”子句不会执行。

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

在 Python 中while循环 –

选择 for 或者whiles需要根据实际 情况去决定,大量去练习。

另外,如果您发现它有用,请与您的同事分享。此外,请连接到我们的社交媒体(Facebook/Twitter)帐户以接收及时的更新。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python基础篇: python中的流程控制,你都了解吗?
Python 为什么不设计 do-while 循环结构?
VB6.0的几种循环语句及条件语句
Python版 编程语言入门经典100例 python编程入门基础
Python 流程控制全记录
初中生Python程序设计百问百答
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服