Код ниже, хотя и несколько запутанный, просит пользователя вводить свои годы: годы до выхода на пенсию, процентную ставку, начальную сумму и сумму, добавленную каждый год. Эта часть отлично работает. То, что я пытаюсь сделать сейчас, вычисляет значение каждые пять лет на основе ввода пользователя. В основном я хочу, чтобы это выглядело примерно так:Расчет IRA/выход на пенсию с Python с пользовательского ввода
The value of your account after 5 years will be $...
The value of your account after 10 years will be $...
The value of your account after 15 years will be $...
etc... all the way up until the number of years_left is met
код у меня сейчас делает в основном, что только я думаю, что я либо иметь математическую ошибку или ошибку кодирования (или оба), что я не могу понять вне. Любая помощь будет принята с благодарностью. Мой код ниже:
def main():
# Number of years left until retirement
while True:
try:
years_left = int(input("Please enter the number of years left until retirement (1-70): "))
except ValueError:
print ("Entered value is not a number! Please enter a number 1-70.")
except KeyboardInterrupt:
print("Command Error! Please enter a number 1-70.")
else:
if 1 <= years_left < 70:
break
else:
print("Entered value is not in the range 1-70.")
# Interest rate (confirmation needed if greater than 10)
while True:
try:
interest_rate = int(input("Please enter an interest rate: "))
if interest_rate > 10:
confirm = input("Entered interest rate is greater than 10%. Are you sure? (y/n): ")
if confirm =="y":
break
elif 0 <= interest_rate < 10:
break
except ValueError:
print("Entered value is not a number! ")
# Initial amount to the IRA
while True:
try:
initial_amount = int(input("Please enter the initial amount to the IRA: "))
except ValueError:
print ("Entered value is not a number! Please enter a number.")
except KeyboardInterrupt:
print("Command Error! Please enter a number.")
else:
if 0 < initial_amount:
break
else:
print("Entered value is a negative number. Please enter a positive number.")
# Amount added to the IRA each year
while True:
try:
amount_added = int(input("Please enter the amount added to the IRA each year: "))
except ValueError:
print ("Entered value is not a number! Please enter a number.")
except KeyboardInterrupt:
print("Command Error! Please enter a number.")
else:
if 0 <= amount_added <= 2500:
break
else:
print("Entered amount is not in the range $0 - $2,500.")
#value = initial_amount + (initial_amount)*interest_rate + amount_added
value = 0
for x in range(5, years_left + 5):
value = initial_amount + (initial_amount) * interest_rate + amount_added
print("The value of your account after " + str(x) + " years will be $" + str(value))
main()
Моя текущая программа выдает что-то вроде этого:
Please enter the number of years left until retirement (1-70): 10
Please enter an interest rate: 7
Please enter the initial amount to the IRA: 1
Please enter the amount added to the IRA each year: 2000
The value of your account after 5 years will be $2008
The value of your account after 6 years will be $2008
The value of your account after 7 years will be $2008
The value of your account after 8 years will be $2008
The value of your account after 9 years will be $2008
The value of your account after 10 years will be $2008
The value of your account after 11 years will be $2008
The value of your account after 12 years will be $2008
The value of your account after 13 years will be $2008
The value of your account after 14 years will be $2008
Это решит мою проблему подсчета, но она все равно дает неверные значения каждый раз. – Ben
теперь проверьте, что вам нужно сделать для значения слишком 'value = value + your_stufff' – Hackaholic
@Ben Надеюсь, это решает вашу проблему, и вы получите концепцию до – Hackaholic