blob: 9cf0c89da7c6c1e133eafc68feb87a365a3791aa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#!/usr/bin/env python
# Challenge 120
#
# TASK #2 - Clock Angle
# Submitted by: Mohammad S Anwar
# You are given time $T in the format hh:mm.
#
# Write a script to find the smaller angle formed by the hands of an analog
# clock at a given time.
#
# HINT: A analog clock is divided up into 12 sectors. One sector represents 30
# degree (360/12 = 30).
#
# Example
# Input: $T = '03:10'
# Output: 35 degree
#
# The distance between the 2 and the 3 on the clock is 30 degree.
# For the 10 minutes i.e. 1/6 of an hour that have passed.
# The hour hand has also moved 1/6 of the distance between the 3 and the 4,
# which adds 5 degree (1/6 of 30).
# The total measure of the angle is 35 degree.
#
# Input: $T = '04:00'
# Output: 120 degree
import sys
def clock_angles(hh, mm):
mm_angle = mm * 360 // 60
hh_angle = (hh % 12) * 360 // 12 + mm_angle // 12
return hh_angle, mm_angle
hh, mm = [int(x) for x in sys.argv[1].split(':')]
hh_angle, mm_angle = clock_angles(hh, mm)
angle = abs(hh_angle - mm_angle)
if angle > 180:
angle = 360 - angle
print(angle)
|