Есть задача, которую необходимо решить через цикл while. Но я уперся в то, что не понимаю (не знаю) как можно сложить разницу всех месяцев?

Ежемесячная стипендия студента составляет educational_grant руб., а расходы на проживание превышают стипендию и составляют expenses руб. в месяц.

Рост цен ежемесячно увеличивает расходы на 3%, кроме первого месяца.

Составьте программу расчета суммы денег, которую необходимо единовременно попросить у родителей, чтобы можно было прожить учебный год (10 месяцев), используя только эти деньги и стипендию.

Формат вывода:
Студенту надо попросить ХХХ.ХХ рублей

educational_grant, expenses = 10000, 12000

while count < 9:
    count += 1
    expenses_1 = expenses / 100 * 3
    expenses += expenses_1
    print(expenses)
    continue
else:
    print("oops")

Ответы (2 шт):

Автор решения: S. Nick

Попробуйте так:

educational_grant, expenses = 10000, 12000

count = 10
expenses_sum = 0
while count:
    expenses = expenses + (0 if count==10 else expenses / 100 * 3)
    expenses_sum += expenses
    count -= 1
    print(count, expenses)
else:
    print(f"oops = {expenses_sum - educational_grant*10:.2f} рублей")
→ Ссылка
Автор решения: anonymous

Не обязательно складывать разницы - ответ можно подать в виде разницы между суммами -
expenses*(1+1.03+(1.03)^2 +...+(1.03)^9) - 10*educational_grant,
что если упростить можно сразу вывести:

print("Студенту надо попросить ", expenses*(((1.03)**10 - 1)/0.03) - 10*educational_grant, " рублей")
→ Ссылка