Python多重循环无输出

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

img

把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


x=eval(input())

#代码开始
for i in range(1,x):
    y = 0
    for j in range(1,i):
        if i%j == 0 and j < i:
            y+=j
    if i==y:
        print(i)

#代码结束

第7行后加个break,8,9行删除
第5行之前加y=0

你的y应该初始化为0啊,为什么初始化为1,不是没事找事吗
而且每次进入内层循环之前y都要清零,否则越加越大