Python kivy выдаёт ошибку

Код:

def func():  # должно выводить случайный цвет для каждой кнопки
            x=background_color=([randint(0,3),randint(0,3),randint(0,3),1])
            return x

class MyApp(App): #калькулятор на kivy
    def build(self):
        bl=GridLayout(rows=5, size_hint=(1, .5), pos=(0,00))


        bl.add_widget(Button(
        text='1', func()))
        bl.add_widget(Button(
        text='2', func()))
        bl.add_widget(Button(
        text='3', func()))
        bl.add_widget(Button(
        text='*', func()))
        bl.add_widget(Button(
        text='4', func()))
        bl.add_widget(Button(
        text='5', func()))
        bl.add_widget(Button(
        text='6', func()))
        bl.add_widget(Button(
        text='/', func()))
        bl.add_widget(Button(
        text='7', func()))
        bl.add_widget(Button(
        text='8', func()))
        bl.add_widget(Button(
        text='9', func()))
        bl.add_widget(Button(
        text='+', func()))
        bl.add_widget(Button(
        text='.', func()))
        bl.add_widget(Button(
        text='0', func()))
        bl.add_widget(Button(
        text='=', func()))
        bl.add_widget(Button(
        text='-', func()))



        return bl   
if __name__=="__main__":
    MyApp().run()

Ошибка:

   text='1', func()))з
                      ^
SyntaxError: invalid syntax

Ответы (1 шт):

Автор решения: дэнчик
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.widget import Widget
from kivy.config import Config
from kivy.uix.label import Label
import random

Config.set('graphics','resizable','0')
Config.set('graphics','width','400')
Config.set('graphics','height','450')


class Calculator(App):
    def calculat_e(self,instance):
        self.lbl.text = str(eval(self.lbl.text))
        self.formula = ''

    def add_number(self,instance):
        if self.formula == '0' :
            self.formula = ''
        if self.formula == '+':
            self.formula = ''
        if self.formula == '-':
            self.formula = ''
        if self.formula == '*':
            self.formula = ''
        if self.formula == '.':
            self.formula = ''

    def clear_(self,instance):
        self.lbl.text = '0'
        self.formula = ''

    def build(self):

        self.formula = "0"

        bl = BoxLayout(orientation='vertical')
        gl = GridLayout(cols=4,spacing=3,padding=[10])
        self.lbl = (Label(text='0',font_size= 50,size_hint=[1,.35],text_size=(400-20,450 * .35 -20 ),halign='right',valign='center'))
        bl.add_widget(self.lbl)
        gl.add_widget(Button(text='7',on_press= self.add_number))
        gl.add_widget(Button(text='8',on_press= self.add_number))
        gl.add_widget(Button(text='9',on_press= self.add_number))
        gl.add_widget(Button(text='*',background_color=[random.randint(0,3),random.randint(0,3),random.randint(0,3),1],on_press= self.add_number))
        gl.add_widget(Button(text='4',on_press= self.add_number))
        gl.add_widget(Button(text='5',on_press= self.add_number))
        gl.add_widget(Button(text='6',on_press= self.add_number))
        gl.add_widget(Button(text='-',background_color=[random.randint(0,3),random.randint(0,3),random.randint(0,3),1],on_press= self.add_number))

        gl.add_widget(Button(text='1',on_press= self.add_number))
        gl.add_widget(Button(text='2',on_press= self.add_number))
        gl.add_widget(Button(text='3',on_press= self.add_number))
        gl.add_widget(Button(text='+',background_color=[random.randint(0,3),random.randint(0,3),random.randint(0,3),1],on_press= self.add_number))
        gl.add_widget(Button(text='C',on_press=self.clear_,background_color=[0,1,1,1]))
        gl.add_widget(Button(text='0',on_press= self.add_number))
        gl.add_widget(Button(text='.',on_press= self.add_number))
        gl.add_widget(Button(text='=',background_color=[random.randint(0,3),random.randint(0,3),random.randint(0,3),1],on_press = self.calculat_e))

        bl.add_widget(gl)
        return bl

Calculator().run()
→ Ссылка