Как вывести время текстом без использования списков?
программа время из минут переводит в часы и минуты, и пишет словами часы и минуты, к примеру 123 - 2 часа 3 минуты. Вопрос в том можно ли эти строчки кода написать как-то без списка
if strhours[:-3:-1] == number:
hours_word = 'часов'
Вот код программы
while True:
try:
time = int(input("Введите время в минутах: "))
hours = time // 60
minutes = time % 60
strhours = str(hours)
number = '11'
if strhours[:-3:-1] == number:
hours_word = 'часов'
elif hours % 10 == 1 and hours != 11:
hours_word = "час"
elif 2 <= hours % 10 <= 4 and (hours // 10) % 10 != 1:
hours_word = "часа"
else:
hours_word = "часов"
if minutes % 10 == 1 and minutes != 11:
minutes_word = "минута"
elif 2 <= minutes % 10 <= 4 and (minutes // 10) % 10 != 1:
minutes_word = "минуты"
else:
minutes_word = "минут"
print(f"{hours} {hours_word} {minutes} {minutes_word}\n")
except ValueError:
print("\nОШИБКА")
continue
Смысл в том, что числа которые оканчиваются на 11 и больше этих 11 он выводит неверно(ну то есть получается если единиц не 2, а 3 и более) , к примеру 660 м выведет верно, а 6660 м выведет 111 часа. P.S просто интересно без списка можно это сделать?
Источник: Stack Overflow на русском