题目是显示输入数字之内的所有完全数
这个用多重循环,但是我在写的时候感觉写的很对,结果运行的没有输出结果,很烦,运行时间也有点长,求大家帮忙指点一下

题目是显示输入数字之内的所有完全数
这个用多重循环,但是我在写的时候感觉写的很对,结果运行的没有输出结果,很烦,运行时间也有点长,求大家帮忙指点一下

把y=1放到循环里就行了,代码如下,如解决问题请点击一下采纳,谢谢:
x = eval(input())
for i in range(2, x, 1):
y = 1
for j in range(2, i):
if i%j==0:
y+=j
else:
y+=0
if i==y:
print(i)
if i>=x:
print('无')
break