В последней строке в Calculate
вы пытаетесь получить значение из переменной annualInterestRate
и присваиваете self.annualInterestRateVar
self.annualInterestRateVar.set(annualInterestRate)
Но annualInterestRate
является локальной переменной, которая существует только в Calculate
ине имеет ничего общего с локальной переменной annualInterestRate
, которая существует в getMonthlyPayment
Поэтому вы пытаетесь получить значение из переменной annualInterestRate
, но вы не присвоили значение annualInterestRate
в Calculate
.
Для Python вы пытаетесь получить значение из переменной, которую вы никогда не создавали.Итак, Python display
annualInterestRate is not defined
Я не знаю, какое значение вы пытаетесь получить в self.annualInterestRateVar.set(...)
.Если это значение из локальной переменной annualInterestRate
, которое существует в getMonthlyPayment
, то, возможно, вам следует вернуть его из getMonthlyPayment
return monthlyPayment, annualInterestRate
и ввести Calculate
monthlyPayment, annualInterestRate = self.getMonthlyPayment(...)
Кстати: у вас неверный отступ в цикле while
в getMonthlyPayment
, и он выйдет из getMonthlyPayment
после первого цикла.