帮我看看这Python怎么写

img


帮我看看这应该怎么写 这完美数谢谢啦 一直不知道怎么写帮我看看怎么写吧

下面是一种实现办法,供参考:

1、首先使用input获取一个整数,同时用int()函数转为整数;

2、然后遍历1到这个整数-1之间的所有数,用求余的方法找到其所有真因子, 存入列表,同时累加到和中;

3、最后打印结果,根据真因子之和和这个整数的关系来判断是否是完美数(也叫完全数),如果是的,则打印式子,如果不是打印'None'。

参考链接:
完全数_百度百科



num = int(input()) #获取一个整数输入

sum=0   #记录这个整数的真因子之和的变量
factors=[]  #存储这个整数的所有真因子
for i in range (1,num):  #遍历1到num-1的所有的数,寻找num的所有真因子
    #https://baike.baidu.com/item/%E5%AE%8C%E5%85%A8%E6%95%B0/370913?fromtitle=%E5%AE%8C%E7%BE%8E%E6%95%B0&fromid=871560&fr=aladdin
    if num%i==0:  #如果num对i求余为0,说明是其真因子
        sum+=i    #把这个真因子累加到和sum中
        factors.append(i)  #把这个真因子加入列表中

#打印结果     
if sum==num:  #如果这个数的真因子之和等于这个数,说明是完全数,打印式子

    print(str(num)+"=",end="")   #打印前面的完全数和等号
    length = 0
    for j in factors:  #打印后面的真因子之和的式子
        print(str(j),end="")
        length=length+1
        if length<len(factors):
            print("+",end="")
else :  #如果这个数的真因子之和不等于这个 数,则说明不是完全数,打印'None'
    print("None")

img