Не получается решить проблему с ошибкой ValueError: invalid literal for int() with base 10:
Мне нужно сделать калькулятор времени которая при вводе времени, оно пересчитывает на минуту вперёд. Пример:
Вводим 17:30; получаем 17:31
Вводим 23:59; получаем 00:00
Я указал в input 2 переменные (делаю это через сплит). Они стоят в int. Когда я компилирую, этот кусок ругается hour, minute = int(input("напишите время ")).split() с ошибкой ValueError: invalid literal for int() with base 10:
Я пытлася изменить int на str, но за ней шла другая ошибка.
Помогите пожалуйста
Ответы (2 шт):
import datetime
hour, minute = map(int, input("напишите время ЧЧ:ММ ").split(':'))
delta = datetime.timedelta(hours = hour, minutes = minute)
deltaq = datetime.timedelta(minutes = 1)
future = delta + deltaq
print(future)
Сначала подключаем модуль datetime.
Водим переменные hour и minute.
В переменной deltaq вводим нудное число минут, которое надо прибавить (также можно прибавить часы) Пример:datetime.timedelta(minutes = 1,hours= Число часов)
В результате получаем Часы:Минуты:Секунды
Более подробно описано тут (не реклама): https://tokmakov.msk.ru/blog/item/88
from datetime import datetime, timedelta
print(
(datetime.strptime(
input('Введите время: '),
'%H:%M') + timedelta(minutes=1)
).strftime('%H:%M')
)
# Введите время: 23:59
# 00:00