Так что я очень плохо знаком с программированием и изучаю python, поэтому я решил попробовать кредитный калькулятор.Я сделал это так, когда пользователь вводит свой принцип, процентную ставку и годы, необходимые для полной выплаты кредита, он выводит их ежегодный платеж, ежемесячный платеж и общую сумму кредита.Я сделал это, и это сработало.Я решил сделать еще один шаг вперед и сделать так, чтобы после этого, если пользователь вводит свой годовой доход, он сравнивал свой ежемесячный доход с ежемесячным платежом и сообщал им, нужно ли ему рефинансировать или нет.
Вот программа, которую я сделал:
principle = float(input("Principle: ")) #principle = the amount of dollars borrowed
rate = float(input("Rate: ")) #rate = the interest rate that is charged each year on unpaid principle
years = float(input("Years: ")) #years = the number of years required to repay the loan in full
payment = ((1 + rate)**years * principle * rate)/((1 + rate)**years - 1)
#lines 7-10 print the annual, monthly, and total payments made respectively
print("Annual payment: ${:,.2f}".format(payment))
print("Monthly payment: ${:,.2f}".format(payment/12))
print("Total paid for the life of the loan: ${:,.2f}".format(payment*years))
principle = float(input("Principle: ")) #principle = the amount of dollars borrowed
rate = float(input("Rate: ")) #rate = the interest rate that is charged each year on unpaid principle
years = float(input("Years: ")) #years = the number of years required to repay the loan in full
payment = ((1 + rate)**years * principle * rate)/((1 + rate)**years - 1)
annualinc = float(input("Annual income: ")) #annualinc = the annual income
#to check if the user needs to refinance or not by comparing their monthly
income to their monthly payment
if (annualinc / 12) <= (payment / 12) and rate > .05:
print("You should refinance")
elif (annualinc / 12) <= (payment / 12):
print("You should seek financial counseling")
else:
print("If you make all your payments, your loan will be paid on time.")
Единственный способ заставить оператор if работать - заставить пользователя повторно вводить каждую переменную между операторами print и оператором if.Всякий раз, когда я помещаю переменную annualinc = float(input("Annual income: ")
в начале программы перед операторами печати или между операторами печати, и если оператор будет разбивать строку после нее с синтаксической ошибкой.Почему я должен был снова запросить все переменные и почему я не мог просто запросить переменную yearinc самостоятельно?И почему это не работает, когда я помещаю его с первой группой переменных?
edit: я исправил это, поэтому мне не нужно вводить все переменные снова!Мне не хватало круглых скобок в конце строки, и я копировал и вставлял строку, когда перемещал ее, поэтому ошибка возникала вместе с ней.Извините за такую ошибку новичка и спасибо!