所以我应该编写一个 Python 程序来识别并打印某个闭区间 [ 2, n ] 中的所有完美数字,每行一个。我们只需要使用嵌套的 while 循环/ if-else 语句。我以某种方式使用 for 循环完成了它,但无法使用 while 循环找出相同的结果。如果您能告诉我如何将我的代码转换为 while 循环,我将不胜感激。多谢你们。这是我所拥有的:
limit = int(input("enter upper limit for perfect number search: "))
for n in range(2, limit + 1):
sum = 0
for divisor in range(1, n):
if not n % divisor:
sum += divisor
if sum == n:
print(n, "is a perfect number")
原文由 Joe 发布,翻译遵循 CC BY-SA 4.0 许可协议
这应该工作: