После ввода числа выводятся нули, а числа должны перемножаться на 24

main.py

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.config import Config
from kivy.core.window import  Window

Config.set('kivy', 'keybord_mode', 'systemanddock')

Window.size = (360, 640)

class Container(GridLayout):
    def convert(self):
        try:
            number = int(self.text_input.text)
        except Exception:
            number = 0

        self.label_hours.text = str(number * 24)
        self.label_minutes.text = str(number * 24 * 60)
        self.label_seconds.text = str(number * 24 * 60 * 60)
        self.label_m_seconds.text = str(number * 24 * 60 * 60 * 60)
        self.label_weeks.text = str('%.2f' % round(number / 7, 2))



    def change_something(self):
        self.label_text.text = self.text_input.text

class DuckyApp(App):
    def build(self):
        return Container()

if __name__ == '__main__':
    DuckyApp().run()

ducky.kv

<MyOwnLabel@Label>
    font_size: '25sp'
    haling: 'left'
    valing: 'middle'
    text_size: self.size

<Container>:
    rows: 3
    text_input: text_input
    label_hours: label_hours
    label_minutes: label_minutes
    label_seconds: label_seconds
    label_m_seconds: label_m_seconds
    label_weeks: label_weeks




    AnchorLayout:
        anchor_y: 'top'
        id: text_input
        size_hint: 1, 0.15
        input_filter: 'int'
        input_type: 'number'
        multiline: False

        TextInput:
            text: ''
            font_size: '45sp'

    GridLayout:
        cols: 2
        padding: [40, 0, 0, 0]

        BoxLayout:
            orientation: 'vertical'

            MyOwnLabel:
                text: 'Hours'

            MyOwnLabel:
                text: 'Minutes'

            MyOwnLabel:
                text: 'Seconds'

            MyOwnLabel:
                text: 'Milliseconds'

            MyOwnLabel:
                text: 'Weeks'

        BoxLayout:
            orientation: 'vertical'
            size_hint: 0.5, 1

            MyOwnLabel:
                text: '0'
                id: label_hours

            MyOwnLabel:
                text: '0'
                id: label_minutes

            MyOwnLabel:
                text: '0'
                id: label_seconds

            MyOwnLabel:
                text: '0'
                id: label_m_seconds

            MyOwnLabel:
                text: '0'
                id: label_weeks

    BoxLayout:
        size_hint: 0.9, 0.15
        padding: [30, 20, 30, 20]


        Button:
            text: "Let's go!"
            on_release:
                root.convert()

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

Автор решения: LevAri

Ответ в стиле "кэп очевидность".

У вас выводится 0, потому что отрабатывает ветка вашего try\catch условия. Перемножать 0, как известно, можно на что угодно, только результат не изменится.

Соответственно, по всей видимости ошибка в self.text_input.text. Проверяйте, как вы работаете с данным элементом.

→ Ссылка
Автор решения: Sd1g

У тебя всё в файле вперемешку. Вот правильный вариант твоего приложения:

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.properties import ObjectProperty
from kivy.core.window import Window
from kivy.config import Config


def count(m):
    hours = str(m * 24)
    minutes = str(m * 24 * 60)
    seconds = str(m * 24 * 60 * 60)
    m_seconds = str(m * 24 * 60 * 60 * 60)
    weeks = str('%.2f' % round(m / 7, 2))
    return {'1': hours, '2': minutes, '3': seconds, '4': m_seconds, '5': weeks}


#Window.size = (480, 853)

#Config.set('kivy', 'keyboard_mode', 'systemanddock')

class MainMenu(GridLayout):

    def calculate(self):
        try:
            mass = int(self.text_input.text)

        except:
            mass = 0

        amount = count(mass)

        self.first.text = amount.get('1')
        self.second.text = amount.get('2')
        self.third.text = amount.get('3')
        self.fourth.text = amount.get('4')
        self.fifth.text = amount.get('5')

class MyApp(App):
    def build(self):
        return MainMenu()


if __name__ == '__main__':
    MyApp().run()
<IngridientName@Label>:
    font_size: '25sp'
    text_size: self.size
    halign: 'left'
    valign: 'middle'

<IngridientAmount@Label>:
    font_size: '25sp'
    text_size: self.size
    halign: 'right'
    valign: 'middle'

<MainMenu>:
    rows: 3

    text_input: text_input
    first: first
    second: second
    third: third
    fourth: fourth
    fifth: fifth
    sixth: sixth

    AnchorLayout:
        size_hint: 1, 0.1
        padding: [5, 5, 5, 0]

        TextInput:
            id: text_input
            pos_hint: {'center_x': 0.5, 'y': -1}
            multiline: False
            font_size: '40sp'
            input_type: 'number'
            input_filter: 'int'

    GridLayout:
        cols:2

        BoxLayout:
            orientation: 'vertical'
            padding: [10, 0, 0, 0]

            IngridientName:
                text: 'Hours'

            IngridientName:
                text: 'Minutes'

            IngridientName:
                text: 'Seconds'

            IngridientName:
                text: 'M seconds'

            IngridientName:
                text: 'Weeks'

        BoxLayout:
            orientation: 'vertical'
            padding: [0, 0, 10, 0]

            IngridientAmount:
                id: first
                text: '0'

            IngridientAmount:
                id: second
                text: '0'

            IngridientAmount:
                id: third
                text: '0'

            IngridientAmount:
                id: fourth
                text: '0'

            IngridientAmount:
                id: fifth
                text: '0'

            IngridientAmount:
                id: sixth
                text: '0'

    FloatLayout:
        size_hint: 1, 0.1

        Button:
            pos_hint: {'center_x': 0.5, 'y': 0.1}
            size_hint: 0.8, 1
            text: 'Посчитать'
            font_size: 40

            on_release:
                root.calculate()

→ Ссылка
Автор решения: ムkula

Ошибка из-за которой не выполнялась програма была файле ducky.ky, не в том месте были указаны параметры для TextInput, вот исправленый вариант:

AnchorLayout:
    anchor_y: 'top'
    size_hint: 1, 0.15


    TextInput:
        text: ''
        id: text_input
        font_size: '45sp'
        input_filter: 'int'
        input_type: 'number'
        multiline: False
→ Ссылка