def izb(n:int): #функция для определения является число избыточным или нет
delt = [] # массив куда будут помещаться все делители числа n
for i in range(1,n):
if n % i == 0:
delt.append(i) #добавления делителя в массив
else:
if sum(delt) > n: #если сумма делителей больше самого числа то это избыточное числа то есть выводим True
return True
else:
return False
def allizb(): #функция в которой я получаю все избыточные числа до 28124(от 12 потому что по условию это самое маленькое избыточное число)
all_izb = []
for i in range(12,28124): #если число избыточное добавляю в массив, в конце верну массив со всеми числами
if izb(i) == True:
all_izb.append(i)
else:
return all_izb
alizb = allizb()
i = 1
otv = [] #массив куда буду вносить числа которые не могут быть суммой двух избыточных чисел
for i in range(12,28124):
for g in alizb:
for h in alizb:
if i != (g+h): #если i не равна сумме 2 избыточных чисел из массива то добавляем
otv.append(i)
print(i)
else:
print( sum(otv )) # в конце выводим сумму всех чисел
Благодарю вас, первый раз работаю с файлами поэтому совершаю такие глупые ошибки и задаю такие вопросы. В дальнейшем почитаю побольше про работу с файлами. Еще раз спасибо!