| Total Complexity | 4 |
| Total Lines | 28 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | def clock_angle(time): |
||
| 2 | hour, minute = time.split(':') |
||
| 3 | hour = int(hour) + int(minute) / 60 |
||
| 4 | if hour > 12: |
||
| 5 | hour -= 12 |
||
| 6 | AngelHour = hour / 12 * 360 |
||
| 7 | AngelMinute = int(minute) / 60 * 360 |
||
| 8 | if AngelMinute > AngelHour: |
||
| 9 | ClockAngle = round(abs(AngelMinute - AngelHour), 1) |
||
| 10 | else: |
||
| 11 | ClockAngle = round(abs(AngelHour - AngelMinute), 1) |
||
| 12 | if ClockAngle <= 180: |
||
| 13 | return ClockAngle |
||
| 14 | else: |
||
| 15 | return 360 - ClockAngle |
||
| 16 | |||
| 17 | |||
| 18 | if __name__ == '__main__': |
||
| 19 | # These "asserts" using only for self-checking and not necessary for |
||
| 20 | # auto-testing |
||
| 21 | assert clock_angle("02:30") == 105, "02:30" |
||
| 22 | assert clock_angle("13:42") == 159, "13:42" |
||
| 23 | assert clock_angle("01:42") == 159, "01:42" |
||
| 24 | assert clock_angle("01:43") == 153.5, "01:43" |
||
| 25 | assert clock_angle("00:00") == 0, "Zero" |
||
| 26 | assert clock_angle("12:01") == 5.5, "Little later" |
||
| 27 | assert clock_angle("18:00") == 180, "Opposite" |
||
| 28 |