题目:
找出1000以内的所有完数和他们的因子
程序设计:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3,则6就是完数。请编程找出1000以内的所有完数和他们的因子。
输入用例:
无
输出用例:
6
1 2 3
28
1 2 4 7 14
496
1 2 4 8 16 31 62 124 248
问题就是如何将数组元素同一行打印出来,且每一个元素占3个位置输出。
以下代码输出问题在倒数第二行
print(f'{k[i]:<3}', end = ' ')
你的空格是英文空格吗?即那句应该是
print( k[i],end=' ')
估计你的end后面是中文全角空格,或者是多写了空格。
for i in range(2,1001):
k=[j for j in range(1,i) if i%j==0]
if sum(k)!=i:
continue
print(i)
for t in range(len(k)-1):
print(k[t],end=' ')
print(k[-1])