Есть задача, которую необходимо решить через цикл 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 шт):
Попробуйте так:
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} рублей")
Не обязательно складывать разницы - ответ можно подать в виде разницы между суммами -
expenses*(1+1.03+(1.03)^2 +...+(1.03)^9) - 10*educational_grant,
что если упростить можно сразу вывести:
print("Студенту надо попросить ", expenses*(((1.03)**10 - 1)/0.03) - 10*educational_grant, " рублей")