判断完数(请问是哪出错了,请求大佬帮忙)

import math
a=int(input())
count=0
for i in range(a):
    factors=[1]
    for j in range(2,int(math.sqrt(i))+1):
        if i%j==0:  
            factors.append(j)
            if i//j not in factors :
                factors.append(i//j)
    
    if sum(factors)==i:
        factors.sort() 
        print(str(i)+' = '+' + '.join(map(str,factors)))
        count+=1

if count==0:
    print('None')
            

 

import math
fac=[]
a=int(input("请输入一个整数:"))
for i in range(1,a):
    if a%i==0:
        fac.append(i)
    else:
        pass
if sum(fac)==a:
    print(str(a)+' = '+' + '.join(map(str,fac)))
else:
    print(str(sum(fac))+' = '+' + '.join(map(str,fac)))

 

import math
fac=[]
a=int(input())
for i in range(1,a):
    if a%i==0:
        fac.append(i)
    else:
        pass
if sum(fac)==a:
    print(str(a)+' = '+' + '.join(map(str,fac)))
else:
    None

 

import math
a=int(input())
count=0
for i in range(a):
    factors=[1]
    for j in range(2,int(math.sqrt(i))+1):
        if i%j==0:  
            factors.append(j)
            if i//j not in factors :
                factors.append(i//j)
    if sum(factors)==i:#应该是这个判断条件出了问题,当factors=[1]时i也等于1就会满足条件输出1=1
        factors.sort() 
        print(str(i)+' = '+' + '.join(map(str,factors)))
        count+=1
if count==0:
    print('None')