Python. В банк положено S руб под N процентов годовых. Разработайте код, с помощью которого можно определить количество лет, за которые сумма вклада будет не менее N руб.
Пусть на входе мы имеем S – вложенная в рублях сумма, P – процент вклада и N – ожидаемая сумма на выходе. Нас интересует Y – количество лет, за которое мы достигнем ожидаемой суммы.
Определим функцию cash(S, P), которая возвращает скопленные деньги после одной итерации. И функцию cash_times(S, P, N), которая выводит количество лет, необходимые для достижения суммы N при заданных параметрах S и P.
def cash(S, P):
return S + P * S
def cash_times(P, S, N):
n = 0
while S < N:
S = cash(S, P)
n += 1
return n
Добавим код для ввода и проверки пользовательских данных и вывода результата.
S = int(input("Enter a sum of deposit S = "))
P = int(input("Enter percents of deposit P = "))
N = int(input("Enter an expected sum N = "))
if S <= 0:
print("Wrong sum of deposit. It must be positive number.")
exit(1)
if P > 100 or P <= 0:
print("Wrong percents of deposit. It must be in (0;100].")
exit(1)
if N < S:
print("Wrong expected sum. It must be bigger then S.")
exit(1)
print("You should wait for", cash_times(P, S, N), "years")
Пример работы программы приведен на скриншоте в закрепе.
Answers & Comments
s, n, N = int(input('Введите S: ')), int(input('Введите n: ')), int(input('Введите N: '))
k= 0
while s < N:
k+=1
s = s*(1+n/100)
print(k)
В задании, скорее всего, опечатка.
Пусть на входе мы имеем S – вложенная в рублях сумма, P – процент вклада и N – ожидаемая сумма на выходе. Нас интересует Y – количество лет, за которое мы достигнем ожидаемой суммы.
Определим функцию cash(S, P), которая возвращает скопленные деньги после одной итерации. И функцию cash_times(S, P, N), которая выводит количество лет, необходимые для достижения суммы N при заданных параметрах S и P.
Добавим код для ввода и проверки пользовательских данных и вывода результата.
Пример работы программы приведен на скриншоте в закрепе.