Как сделать, чтобы выводились print() всех условий, если они разные? Надо вывести print() всех условий, а получается, что выводится только что-то одно
t = int(input())
h = t // 60
m = t - (h * 60)
if h >= 2:
for i in range(m, -1, -20):
print(f"До конца осталось {h} часов {i} минут")
elif h == 1:
for i in range(m, -1, -10):
print(f"До конца осталось {h} часов {i} минут")
elif h == 0:
for i in range(m, -1, -5):
print(f"До конца осталось {h} часов {i} минут")
Ответы (1 шт):
Автор решения: MarianD
→ Ссылка
Вероятно, что я точно (или совсем) не понял, что вы хотите. Может быть, что-то такое:
t = int(input())
while t > 0:
h, m = divmod(t, 60)
print(f"До конца осталось {h} часов {m} минут")
if h >= 2:
t -= 20
elif h == 1:
t -= 10
elif h == 0:
t -= 5
Вывод (например) для ввода 175:
До конца осталось 2 часов 55 минут До конца осталось 2 часов 35 минут До конца осталось 2 часов 15 минут До конца осталось 1 часов 55 минут До конца осталось 1 часов 45 минут До конца осталось 1 часов 35 минут До конца осталось 1 часов 25 минут До конца осталось 1 часов 15 минут До конца осталось 1 часов 5 минут До конца осталось 0 часов 55 минут До конца осталось 0 часов 50 минут До конца осталось 0 часов 45 минут До конца осталось 0 часов 40 минут До конца осталось 0 часов 35 минут До конца осталось 0 часов 30 минут До конца осталось 0 часов 25 минут До конца осталось 0 часов 20 минут До конца осталось 0 часов 15 минут До конца осталось 0 часов 10 минут До конца осталось 0 часов 5 минут
Объяснение:
Стандартная функция
divmod()
делает сразу то, что вы сделали в 2 командах — в целочисленном делении вычисляет и частное, и остаток.В цикле
while
повторно вычисляем часы и минуты, выводим их на экран, и затем в зависимости от количества часов уменьшаем переменнуюt
на соответствующее количество минут.