问问Python怎么输出成这样的式子

img


完数我还能会,但我实在不会输出成这样,想了快俩小时了,问问佬们😭

望采纳。


我们写一个代码定义一个函数 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))