Не пойму в чем ошибка

Сегодня в N часов M минут хозяин магазина заказал доставку нового товара. Оператор сказал, что продукты доставят через T минут. Сколько будет времени на электронных часах, когда привезут долгожданные продукты? Написал к задаче вот такой код но яндекс его не засчитывает

hour = int(input())
minute = int(input())
duration = int(input())


def whatTime(a, b, c) :
    hour = a
    minute = b
    duration_hours = c // 60
    duration_minutes = c % 60
    hour += duration_hours
    minute += duration_minutes
    if minute > 60:
        hour += 1
        minute -= 60
    while hour > 24:
        hour -= 24
    if hour < 10:
        if minute < 10:
            time = f'0{hour}:0{minute}'
        else:
            time = f'0{hour}:{minute}'
    elif minute < 10:
        time = f'{hour}:0{minute}'
    else:
        time = f'{hour}:{minute}'
    return time


print(whatTime(hour, minute, duration))

Ответы (4 шт):

Автор решения: Stanislav Volodarskiy

Ошибка: a=23, b=0, c=60 программа напечатает 24:00 (!).

Поменяйте условие hour > 24 на hour >= 24.

Программу можно сократить в вычислениях и в форматировании:

def whatTime(a, b, c):
    h = (a + (b + c) // 60) % 24
    m = (b + c) % 60
    return f'{h:02}:{m:02}'


print(whatTime(int(input()), int(input()), int(input())))
→ Ссылка
Автор решения: biflé

Я бы сделал вот так:

def new_time(hour: int, minute: int, duration: int) -> str:

    new_hour = (hour + (minute + duration) // 60) % 24
    new_minute = (minute + duration) % 60

    return f'{new_hour:0>2}:{new_minute:0>2}'

Тут мы используем встроенную фичу форматирования строк

→ Ссылка
Автор решения: NOLOUNAME

Решения с использованием функций циклов и так далее не подходят, они уже для другого уровня подготовки, здесь отлаживаются другие навыки.

hours = int(input())
minutes = int(input())
lag = int(input())

minutes = minutes + lag
hours = (hours + minutes // 60) % 24
minutes = minutes % 60

print(f'{hours:02d}:{minutes:02d}')
→ Ссылка
Автор решения: u111

Более ясное решение с сохранением цикла

hours = int(input())
minutes = int(input())
T = int(input()) # Через сколько минут будет доставка

for i in range(T): # Цикл по минутам
    minutes += 1
    if minutes == 60:
        minutes = 0
        hours += 1
    if hours == 24:
        hours = 0
print(f'Товары привезут в {hours} часов и {minutes} минут!')
→ Ссылка