望采纳。
我们写一个代码定义一个函数 perfect_num,用来检查一个给定的数字 n 是否为完全数。完全数是指除了该数本身以外的所有因子的和等于该数本身。
函数 perfect_num 接收一个参数 n,首先将变量 total 初始化为 0。然后,通过一个 for 循环,对于 n 的每个因子求和,并将结果存储在 total 中。如果 total 等于 n,说明 n 是一个完全数,函数 fun 返回 True;否则返回 False。
def perfect_num(n):
total = 0
for i in range(1,n):
if n%i == 0:
total+=i
if total == n:
return True
else:
return False
if __name__ == '__main__':
for n in range(1,1001):
if perfect_num(n):
nums = []
for i in range(1, n):
if n % i == 0:
nums.append(str(i))
print(str(n)+'='+'+'.join(nums))
1.先建立一个空list,每找到一个因数,就把因数append进list里面存起来
2.判断num==sum(lst),说明是完数,那么就print(f'{num}='+'+'.join(lst))
完整代码给你,纯手写不容易,给个采纳
def fun(n):
total = 0
for i in range(1,n):
if n%i == 0:
total+=i
if total == n:
return True
else:
return False
if __name__ == '__main__':
for n in range(1,1001):
if fun(n):
nums = []
for i in range(1, n):
if n % i == 0:
nums.append(str(i))
print(str(n)+'='+'+'.join(nums))