python: AttributeError: у объекта «GameStats» нет атрибута «click_first» - PullRequest
0 голосов
/ 20 сентября 2018

Я новичок в Python и извините

class GameStats():

    def __init__(self,ai_setting):
        self.ai_setting = ai_setting
        self.game_active = False
        self.reset_stats()
        self.click_first = True

    def reset_stats(self):
        if self.click_first:
            self.cobweb_left = self.ai_setting.web_limit
            self.click_first = False
        else:
            self.cobweb_left = self.ai_setting.web_limit+1

Ошибка: AttributeError: у объекта 'GameStats' нет атрибута 'click_first'

Я не знаю, почему мы можем 't использовать значение self.click_first для проверки?
И я пытаюсь установить новую переменную так:

    click = self.click_first
    if click:

, но это неправильно.
Большое спасибо !!!

1 Ответ

0 голосов
/ 20 сентября 2018

Попробуйте это (я переключил 2 строки)

class GameStats():

    def __init__(self,ai_setting):
        self.ai_setting = ai_setting
        self.game_active = False
        self.click_first = True  <<<
        self.reset_stats()       <<<


    def reset_stats(self):
        if self.click_first:
            self.cobweb_left = self.ai_setting.web_limit
            self.click_first = False
        else:
            self.cobweb_left = self.ai_setting.web_limit+1

Вы вызываете метод reset_stats до Вы определяете self.click_first, поэтому сначала определив его, добьетесь цели!

...