Работа с несколькими входными переменными в Python 3 - PullRequest
0 голосов
/ 22 февраля 2019

Так что я очень плохо знаком с программированием и изучаю 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: я исправил это, поэтому мне не нужно вводить все переменные снова!Мне не хватало круглых скобок в конце строки, и я копировал и вставлял строку, когда перемещал ее, поэтому ошибка возникала вместе с ней.Извините за такую ​​ошибку новичка и спасибо!

1 Ответ

0 голосов
/ 22 февраля 2019

Подойдет ли вам это?

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))

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.")

Я просто удалил лишние части, и это работает на моей машине!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...