Proszę o pomoc , wyjaśnienie, gdzie popełniłem błąd

0

Witam
Mam takie zadanie, a mianowicie mam utworzyć program , który będzie obliczał kwotę uzbieraną na rachunku bankowym(taki prosty kalkulator)
wzór , który ma mi wyliczać działanie jest następujący A = P(1+r/n) z dopiskiem u gór nt przy wzorze .

Kod mojego programu wygląda następująco:

P = int(input("Wprowadz kwotę początkową"))
r = int(input("roczna stopę oprocentowania"))
n = int(input("ile razy następuje obliczanie odsetek w ciągu roku"))
t = int(input("czas trwania lokaty"))
A = P*(1+r/n)/100*n*t
print(A)

i mam taki problem , że wydaje mi się , że program licz błędnie
przykładowo , jeżeli kwotę początkową podam 100, stopę oprocentowania 1 , ilość naliczania odsetek :12(co miesiąc) , a czas trwania lokaty 1 rok to programik daje mi następujący wynik : 1.0833333333333333. Czy mógłby ktoś wytłumaczyć co sprawia, że ten dziecinnie prosty programik wykonuje nieoprawne moim zdaniem obliczenia

0

@lion137: Dzięki serdeczne skorzystałem z tego wzoru jednak wychodzi mi taki sam wynik 1.0833333333333333 . Czy mógłbym cię prosić abyś napisał jaki tobie wyjdzie wynik z tego działania w takim programie?

1

Troszkę więcej niż 101, jak być powinno.

def capital_after_nyears(start_amount, cap_per_year, percentage, years):
  return start_amount * (1 + (percentage / (100 * cap_per_year))) ** (years * cap_per_year)

print(capital_after_nyears(100, 12, 1, 1))  # -> 101.00501628743486
0
>>> 100 * (1 + 1/(100 * 12)) ** (1 * 12)
101.0045960887181

1 użytkowników online, w tym zalogowanych: 0, gości: 1