Предмет: Информатика, автор: KINGZNANIA

ДАЮ 100 БАЛЛОВ!!! ДАЙТЕ КОД К ЭТОМУ ЗАДАНИЮ В ПАЙТОН
Банк змінив попередні умови для Дарини. Тепер кошти можна класти лише в межах року і забрати їх будь-якого місяця не можна. Скільки
років потрібно Дарині, щоб досягти своїх цілей та яка сума буде доступна на її рахунку?

Приложения:

Stasyx: простые или сложные %?
Alpixx: Не знаю как у учителя получилось 3445,8
Вот моё решение, ответ совпадает с онлайн калькулятором сложных процентов
Alpixx: def declension(n):
last = int(list(str(n))[-1])
if last == 1:
return "рік"
elif 1 < last < 5:
return "роки"
else:
return "років"

p0 = int(input("Скільки грошей має Дарина: "))
i = int(input("Який річний відсоток у банку: "))
p = int(input("Скільки Дарина хоче мати на своєму рахунку: "))
n = 0
while (p0 * (1 + i/100) ** n) < p: n += 1
print(f"Маючи {p0} грн та при вкладі в {i} відсотків Дарина досягне цілі в {p} грн за {n} {declension(n)}. На рахунку буде {round(p0 * (1 + i/100) ** n)} грн.")
Stasyx: как вариант, учитель с ошибкой вывел формулу для периода
KINGZNANIA: Мне какую-то ошибку выдаёт : expected an independent block
KINGZNANIA: Спасибо большое за всё решённое
Alpixx: надо правильно расставить отступы (табы)
Alpixx: в начале со 2 по 8 добавить по отступу
KINGZNANIA: 2-ой строчке пишет

Ответы

Автор ответа: kardash66
0

Ответ:

Розв'язок:

a = int(input("Скільки грошей має Дарина? - "))

b = int(input("Який річний відсоток у банку? - "))

c = int(input("Скільки Дарина хоче мати на своєму рахунку? - "))

d = a

years = 0

while d < c:

years += 1

d += d * (b/100)

d = round(d*10)/10

print(f"Маючи {a} грн та при вкладі в {b} відсотків Дарина досягне цілі в {c} грн за {years} роки (-ів). На балансовому рахунку буде {d} грн.")


Alpixx: Это решение, к слову, при входных данных 1000 25 3000 тоже даёт 3051.8 грн в конце, что не совпадает с примером от учителя
Похожие вопросы
Предмет: Английский язык, автор: Kovalchukvika06