Получение ошибки при попытке интерполировать переменную - PullRequest
0 голосов
/ 02 июня 2019

Кажется, я не могу понять, что «супер» объект не имеет атрибута, который означает getattr .Я не знаю, почему я получаю эту ошибку.

Это простая игра в догадки, я использую Kivy для графического интерфейса пользователя

import math
import kivy
kivy.require('1.11.0')
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.button import Button

class Layout(GridLayout):

    def __init__(self, **kwargs):
        super(Layout, self).__init__(**kwargs)

        self.cols = 3
        self.guesses = 10
        self.hasWon = False
        self.pressedStart = False
        self.ids.start.text = 'Start'
        self.ids.gameText.text = 'Press Start when have chosen your number and are ready!'
        self.ids.instructions.text = 'Choose any number between 0 and 20000 and I will guess it in 10 tries!'
        self.max_guess = 20000
        self.min_guess = 0
        self.guess = math.ceil((self.max_guess - self.min_guess) / 2)
        self.ids.guessText.text = f'Guess left: {self.guesses}'


    def higher(self):
        if self.pressedStart == True and self.hasWon == False:
            self.guesses -= 1
            self.min_guess += self.guess
            self.ids.startText.text = f'Is your number {self.guess}?'
        else:
            pass
    File "guessing_game.py", line 41, in higher
      self.ids.startText.text = f'Is your number {self.guess}?'
    File "kivy/properties.pyx", line 863, in kivy.properties.ObservableDict.__getattr__
    AttributeError: 'super' object has no attribute '__getattr__'

1 Ответ

0 голосов
/ 02 июня 2019

Проблема - AttributeError

  self.ids.startText.text = f'Is your number {self.guess}?'
File "kivy/properties.pyx", line 863, in kivy.properties.ObservableDict.__getattr__
AttributeError: 'super' object has no attribute '__getattr__'

Основная причина

Это означает, что атрибут или переменная ids.startText не существует ни в self.ids типе словарясвойство или объект, Layout.

...