"""
Дружественные числа
это два натуральных числа, таких,
что сумма всех делителей одного числа (меньших самого этого числа)
равна другому числу, и наоборот.

Используйте функцию, которая вычисляет сумму делителей числа
Найдите все пары дружественных чисел, каждое из которых меньше 10000

Python 3.7
"""
def sum_del(a):
    summ = 0
    for i in range(1, a//2+2):
        if a/i == a//i:
            summ += i
    return summ

n = 1
m = 6000
cnt = (m-n+1)//40

ind = []
sd = []
pairs = []
for i in range(n,m+1):
    ind.append(i)
    sd.append(sum_del(i))
    if not i%cnt:
        print('.',end='')

print()    

for i in range(m-n+1):
    for j in range(i, m-n+1):
        #if n+i == sd[j] and n+j == sd[i]:# так, если совершенные числа тоже учитывать
        if n+i == sd[j] and n+j == sd[i] and sd[j] != sd[i]:# так, если совершенные числа не учитывать
            pairs.append((n+i, sd[j]+j-i))
    if not i%cnt:
        print('-',end='')

print()    
for a in pairs:
    print(*a, sep=', ')
    
