python 输出1000以内的完数,输出格式为“*=*+*+…+*”

CSDN问答 2022-05-14 13:49:36 阅读数:781

Python输出出格以内

如果一个自然数等于它的因子(包括1,不包括它本身)之和,则该数称之为“完数”。如6=1+2+3,则6是完数。编写程序,输出1000以内的完数,输出格式为“*=++…+*”。现想请教各位,如何输出符合题目要求的格式呢?




采纳答案:
for i in range(1, 1000): sum = 0 l = [] for j in range(1, i): if i%j == 0: sum += j; l.append(j) if sum == i: print("{left}={right}".format(left=i, right="+".join([str(x) for x in l])))

img


for i in range(1, 1000): sum = 0 l = [] for j in range(1, i): if i%j == 0: sum += j; l.append(j) if sum == i: print(i,str(l).replace('[', '= ').replace(']', '').replace(',', ' +'))

img


版权声明:本文为[CSDN问答]所创,转载请带上原文链接,感谢。 https://ask.csdn.net/questions/7711900