Мини-урок · перед практикой

Часы - 2

За полный час часовая стрелка проходит 30°, минутная — 360°.

Как к ней подойти

Увидите, как целочисленные операции и вычисления с дробями помогают обойтись без лишних шагов.

Коротко о теме

Операции // и % помогают разделить число на целую часть и остаток. Для дробных вычислений следите за точностью и порядком действий: одно и то же число может требовать разного способа обработки.

Ключевая идея · Рекомендуемое решение

Остаток убирает полные часы; внутри часа минутная стрелка движется в 12 раз быстрее.

Проверьте перед запуском

  • На границе часа ответ 0°, а не 360°.
  • Округлять количество часов до ближайшего целого нельзя.

Сравните свой подход

Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.

Ваше принятое решение

Рекомендуемое решение

Остаток убирает полные часы; внутри часа минутная стрелка движется в 12 раз быстрее.

angle = float(input())
print((angle % 30) * 12)

Время: O(1). Память: O(1).

Ещё один способ

Дробная часть прошедшего времени в часах задаёт долю оборота минутной стрелки.

angle = float(input())
hours = angle / 30
fraction = hours - int(hours)
print(fraction * 360)

Время: O(1). Память: O(1).