所以我在python 中写了这个
condition = True
sum = 0
i = 0
arr = []
while condition:
i = i + 1
sum = sum + i
#print(i, sum)
for x in range(1,sum+1):
if sum%x == 0:
arr.append(x)
if len(arr)>=500:
result = sum
condition = False
else:
arr = []
print(arr, result)
但它永远不会结束!你知道我的代码发生了什么吗?
感谢
循环无限运行。
if len(arr)>=500:
result = sum
condition = False
else:
arr = []
这个if-else条件在每次迭代中为else部分运行,并重新初始化数组,因此其长度设置为0。。迭代不断发生,数组不断重新初始化,因此循环无限运行,就像if部分永远不会满足一样。
每次检查arr是否大于500时,如果不是,则将其清除,这意味着它永远不会大于500。