while True:
try:
def yinhe(n):
m=0
for i in range(1,n):
if n%i==0:
m+=i
return m
a=eval(input())
x=0
for j in (1,a):
if j==yinhe(j):
x+=1
print(x)
except:
break
你用代码块模式重新粘贴一下吧,现在缩进有问题
示例代码如下有帮助望采纳~
def isPerfect(num: int):
result = 0
for i in range(1, num):
if num % i == 0:
result += i
return result == num
for i in range(1, 60):
if(isPerfect(i)):
print(i)
应该两层循环才对
n=int(input())
for x in range(1,n+1):
sum = 0
for a in range(1,x):
if x%a == 0 and x != a:
sum += a
if sum == x:
print(x)
搞清楚了,少写了一个range