Как исправить «AttributeError: объект« Calc »не имеет атрибута« input_value »» в следующем коде? - PullRequest
0 голосов
/ 09 июля 2019

Я делаю графический калькулятор GUI с Tkinter. И я всегда получаю ошибку атрибута для объекта Calc

Я пробовал следующий код, но безуспешно:

class Calc():
    def ___init___(self):
        self.total=0
        self.current = ""
        self.input_value = True
        self.check_sum = False
        self.op = ""
        self.result = False

    def NumberEnter(self, num):
        self.result = False
        firstnum = txtDisplay.get()
        secondnum = str(num)
        if self.input_value:
           self.current = secondnum
           self.input_value = False
        else:
            if secondnum == ".":
                if secondnum in firstnum:
                    return
            self.current=firstnum + secondnum
        self.display(self.current)

    def display(self,value):
        txtDisplay.delete(0,END)
        txtDisplay.insert(0,value)

added_value = Calc()

и вызов функции:

btn[i]["command"]=lambda x=numberpad [i]: added_value.NumberEnter(x)

Я всегда получаю следующее сообщение:

if self.input_value:
AttributeError: 'Calc' object has no attribute 'input_value'

И я должен получить числа [0-9] в моем окне калькулятора. Пожалуйста, кто-нибудь может мне помочь с этим? Спасибо.

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Вы использовали 3 подчеркивания вместо 2 в вашем __init__.

Изменение:

class Calc():
    def ___init___(self):
       ...

Кому:

class Calc:
    def __init__(self): #2 underscores on each side
0 голосов
/ 09 июля 2019

ваша функция дисплея не имеет отступов, вы можете проверить это.

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