Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача на python

Кирилл Ватрушечкин Ученик (65), на голосовании 1 неделю назад
Напишите функцию для перевода времени из 24-часового формата в 12-часовой.

Функция time_format() принимает строку в формате hh:mm. Нужно вернуть два значения: am или pm в зависимости от того, какая половина суток, и строку времени в таком же виде, но в пределах 12 часов. Часы и минуты должны иметь два разряда.

am – от 0 до 12 (не включая) часов
pm – от 12 (включая) до 0 часов

Голосование за лучший ответ
Евгений Шевчук Профи (529) 1 месяц назад
def time_format(time_str):
# Разбиваем строку на части: часы и минуты
hours, minutes = map(int, time_str.split(':'))

# Определяем am или pm
if hours < 12:
part_of_day = 'am'
else:
part_of_day = 'pm'

# Корректируем часы для 12-часового формата
if hours == 0:
hours_12 = 12 # Полночь
elif hours > 12:
hours_12 = hours - 12
else:
hours_12 = hours

# Возвращаем отформатированное время и часть суток
return part_of_day, f"{hours_12:02d}:{minutes:02d}"

# Пример использования функции
print(time_format("00:00")) # Должно вернуть ('am', '12:00')
print(time_format("12:30")) # Должно вернуть ('pm', '12:30')
print(time_format("13:45")) # Должно вернуть ('pm', '01:45')
print(time_format("23:59")) # Должно вернуть ('pm', '11:59')

сделал это чат гпт мб может тебе поможет
Похожие вопросы