Почему я продолжаю получать этот AttributeError :? - PullRequest
0 голосов
/ 06 ноября 2019

Я получаю эту ошибку: AttributeError: у объекта 'investmentValueCalc' нет атрибута 'computeFutureValue' И я не знаю, что делать дальше.

Я не знаю, с чего начать. Я попытался удалить command = self.computeFutureValue, чтобы увидеть, есть ли ошибка в графическом интерфейсе, но это не так, и что-то не так с def computerFutureValue (self): но я не могу выяснить,

from tkinter import *

class investmentValueCalc:
    def __init__(self):
        window = Tk()
        window.title("Investment value calculator")

        Label(window, text = "Investment amount").grid(row = 1, column = 1, sticky = W)
        Label(window, text = "Number of years").grid(row = 2, column = 1, sticky = W)
        Label(window, text = "Annual interest rate").grid(row = 3, column = 1, sticky = W)
        Label(window, text = "Future value").grid(row = 4, column = 1, sticky = W)

        self.investmentAmount = DoubleVar()
        Entry(window, textvariable = self.investmentAmount, justify = RIGHT).grid(row = 1, column = 2)

        self.yearsVar = IntVar()
        Entry(window, textvariable = self.yearsVar, justify = RIGHT).grid(row = 2, column = 2)

        self.annualInterestRate = DoubleVar()
        Entry(window, textvariable = self.annualInterestRate, justify = RIGHT).grid(row = 3, column = 2)

        self.futureValue = StringVar()
        Label(window, textvariable = self.futureValue, justify = RIGHT).grid(row = 4, column = 2)

        self.btn = Button(window, text = "Calculate", command = self.computeFutureValue).grid(row = 5, column = 2, sticky = E) 

        window.mainloop()

    def computerFutureValue(self):
        self.invest = float(self.investmentAmount.get())
        self.rate = float(self.monthlyIntRate())
        self.years = int(self.yearsVar.get())
        self.monthlyIntRate = float(self.annualInterestRate / 12) / 100
        self.futureValueCalc = (self.invest * (1+ self.rate) ** (self.years * 12))
        self.formatFutureValue.set(str(format(self.futureValueCalc, "5.2f")))

investmentValueCalc()

Ожидаемый результат должен быть примерно таким: https://i.imgur.com/KiRZkKL.png, но я получаю только все, кроме кнопки вычисления.

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