python - 为什么下面代码中的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
解决方案
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,所以它永远不会增加
推荐阅读
- python - 这是否可以正确预测 keras 中的下一个值?
- java - 部署期间无法在 weblogic12 中使用 spring 模式文档读取 spring beans xml
- postgresql - 无效的字节序列尽管字符串是有效的 UTF8
- python - SVC 的网格搜索:IndexError:数组索引过多
- javascript - Nuxt:意外的令牌 <
- java - 更改现有应用的 admob id
- sql - 根据条件插入新行 - Oracle SQL
- python - 附加两个基于 bng Easting / Northing 的数据框
- javascript - 从二维数组创建可编辑的 HTML 表格
- python - Chrome/Firefox 在新选项卡中打开 PDF 并且不以无头模式保存 (Selenium+Python)