Подсчёт времени python 3
Пользователь вводит количество часов и минут. Возможны все комбинации, т.е введёт только часы или только минуты,а может и вовсе не ввести. В последнем случае понятно как отловить, но я не могу разобраться как просчитывать их отдельно, строю кучу проверок в бесконечном цикле, что ни то, ни другое не есть хорошо. Окончательный результат выводить надо в минутах. Время задаётся в окне tkinter, а просчёт времени в отдельном потоке.
def time_thread():
try:
set_hour = int(hour_set.get())
except:
set_hour = 0
if set_hour > 0:
second = set_hour * 3600
else:
second = 0
set_min = 0
try:
set_min = int(minute_set.get())
except:
pass
sc2.destroy()
while 1:
a = 60
if set_min >= 0:
minute = second // a + set_min
#minute = set_min * a
print(minute)
else:
minute = second // a
hour = minute // a
ps2_state.config(text=f"Оставшееся время: {minute} минут")
second = second - 1
time.sleep(1)
Ответы (1 шт):
Не совсем понял суть вашего вопроса, но как я понял, вы не можете просчитать конкретно сколько минут осталось. Если это так, то я напишу вам решение, а вы подстройте его под ваш код, просто не совсем могу понять то, чего именно вы хотите.
#получаем на вход количество часов, минут, секунд вне зависимости от того, сколько чего будет
#то есть, если мы получим на вход количество часов 0.5, а количество минут 72,
#нам это не помешает
gotten_hours = int(input('Введите количество часов: '))
gotten_minutes = int(input('Введите количество минут: '))
gotten_seconds = int(input('Введите количество секунд: '))
#вносим в переменную количество секунд, что даёт нам возможность просчитать уже любую
#бОльшую величину без проблем
total_seconds = gotten_hours * 3600 + gotten_minutes * 60 + gotten_seconds
#просчитываем количество оставшихся минут
#количество минут без знаков после запятой:
total_minutes = total_seconds // 60
#или же со знаками после запятой:
total_minutes = total_seconds / 60
#выводим:
print(total_minutes)