@Span4ev

Как добавить нули перед целыми числами?

В общем, баловался с созданием часов, всё сделал, но не могу придумать элегантное решение для того, чтобы добавить нули перед целыми числами и после них, как в случае
минут от 0 до 10, и часов от 0 до 10, в которых не хватает нолей.
В итоге время 00:00 минут выглядит так: 0 : 0
Может как-то делать проверку на minutes < 10?
Или использовать строку?
Или использовать дробное число, а позже в момент вывода отсекать его и преобразовывать в строку, для сохранения двух нулей?

Просто на момент вывода там уже синтаксис питона не совсем актуален, поэтому условие при выводе я сделать не могу. Это связано со спецификой игрового движка, в котором это происходит. Поэтому нужно в самом классе описать вывод этих цифр в должном виде. При выводе там вот что:

vbox:
            $ hours, minutes, weekday, day, month, year = time.get_time()
            text hours + ':' + minutes size 40 xalign .5
            text weekday
            
            grid 3 1:
                text day
                text month
                text year


Вот сам код

class Time:
        def __init__(self):

            self.min_step       = 0
            self.hour_step      = 0
            self.mins           = 12
            self.hour           = 6
            self.day            = 1 # День. Максимальное кол-во дней сравнивается с кол-во дней в каждоме месяце 
            self.year           = 2022

            self.week_day       = 5 # число от 0 до 6, определяет смену дня недели
            self.week_days      = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']

            self.month          = 0 # число от 0 до 11, определяет смену месяца 
            # self.months         = ["Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря"]
            self.months         = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"]

            
            self.month_day      = 0 # Индекс. Определяет лимит дней в каждом месяце
            self.month_days     = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]


        def get_time(self):

            if self.mins > 59:
                self.mins  = 0
                self.hour += 1

            if self.hour > 23:
                self.hour = 0
                self.day += 1
                self.week_day += 1

            if self.week_day > 6:
                self.week_day = 0

            if self.day > self.month_days[self.month]:
                self.day = 1
                self.month += 1

            if self.month > 11:
                self.month = 0
                self.year += 1

            return str(self.hour), str(self.mins), self.week_days[self.week_day], str(self.day), self.months[self.month], str(self.year)
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Wispik
a = 1
print(f'{a:02}')
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект