首页 > 解决方案 > 为什么下面代码中的while循环不起作用?

问题描述

a = 0
suma = 0

while( a <= 1000):
    if (a%3 == 0 or a%5 == 0):
        suma = suma + a
        a = a + 1

print("The final answer is: %s " % suma)

问题:求 3 或 5 的所有倍数之和,直到 1000。

我确实知道如何通过使用 for 循环来解决这个问题,我想知道的是,为什么当我运行这段代码时,它永远不会像一个永无止境的代码语句那样显示输出。我只想知道如何通过while循环来做到这一点。感谢您的反馈:D

标签: python

解决方案


a无论是 3 还是 5 的倍数,您都应该增加 的值

while( a <= 1000):
    if (a%3 == 0 or a%5 == 0):
        suma = suma + a
    a = a + 1

目前,它永远不会过去a = 1,因为 1 既不是 3 的倍数也不是 5,所以它永远不会增加


推荐阅读