from os import system
from time import sleep
from datetime import timedelta
# незачем предварительно присваивать 0 переменным,
# если их всё равно перезаполняем значениями
s = int(input('seconds: '))
m = int(input('minutes: '))
h = int(input('hours: '))
# в timedelta удобнее хранить интервалы
time_left = timedelta(hours=h, minutes=m, seconds=s)
# также timedelta поддерживает арифметику и сравнения
step = timedelta(seconds=1) # вот почему шаг - тоже timedelta
# сравнение интервалов вполне себе работает
while time_left >= step:
system('CLS')
print(time_left)
# а такой приём позволяет обновлять таймер не каждую секунду,
# а с заданным шагом, при этом достаточно указать нужный step
sleep(step.total_seconds)
# интервалы времени можно складывать и вычитать
time_left -= step # то же, что и time_left = time_left - step
print('end')
input('Tap ENTER for exit')