簡體   English   中英

嘗試插入變量時出錯

[英]Getting error when trying to interpolate variable

我似乎無法弄清楚'超級'對象沒有屬性' getattr '意味着什么。 我不知道為什么我會收到這個錯誤。

這是一個簡單的猜謎游戲,我使用Kivy作為GUI

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__'

問題 - 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.startTextself.ids字典類型屬性或對象Layout中不存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM