Python: переменная не включена в формулу - PullRequest
0 голосов
/ 14 апреля 2020

Привет всем добрым душам там. Я пытаюсь решить проблему с ипотечным калькулятором. Этот калькулятор должен возвращать возможную сумму заимствования в зависимости от денежного потока клиента. Тем не менее, я публикую здесь только проблемный фрагмент кода c. Дело в том, что, если я добавлю значение 1000 к переменной possible_loan_amount, это произойдет, но оно не будет перенесено в формулу для следующей переменной stress_rate_payment. (Я знаю это, потому что я пробовал это с оператором «if» вместо «while» и он был добавлен к possible_loan_amount.) Поэтому, если я запускаю while l oop, он сталкивается с бесконечным l oop и ничего не происходит. Что я делаю не так на этом? Цель состоит в том, чтобы добавить 1000 к переменной possible_loan_amount, пока разница между stress_rate_payment и cashflow не станет меньше или равна 10.

from numpy import pmt


interest_rate = 1.5
years = 30
cashflow = 916.30

def test(interest_rate, years):
  possible_loan_amount = 10000
  stress_rate_payment = pmt(((interest_rate+2)/100)/12, 12*years, possible_loan_amount) * (-1)
  difference = stress_rate_payment - cashflow
  if difference < 0:
    difference = difference * (-1)
  while difference > 10:
    possible_loan_amount += 1000
  return possible_loan_amount, stress_rate_payment


print(test(interest_rate, years))

Спасибо всем.

1 Ответ

0 голосов
/ 14 апреля 2020

Вам необходимо обновить переменную difference в пределах while l oop. В настоящее время переменная difference устанавливается только один раз, а затем никогда не изменяется, поэтому в случае, если difference больше 10, вы создаете бесконечное l oop, всегда добавляя еще 1000 к possible_loan_amount, но difference никогда не пересчитывается

...