Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for The Angles of a Triangle by juestr
from typing import List
from math import acos, degrees
def checkio(a: int, b: int, c: int) -> List[int]:
a, b, c = sorted((a, b, c))
if a + b <= c:
return [0, 0, 0]
else:
a2, b2, c2 = a*a, b*b, c*c
alpha = acos((b2 + c2 - a2) / (2*b*c))
betta = acos((a2 + c2 - b2) / (2*a*c))
gamma = acos((a2 + b2 - c2) / (2*a*b))
return sorted(round(degrees(a)) for a in (alpha, betta, gamma))
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
print("Example:")
print(checkio(4, 4, 4))
assert checkio(4, 4, 4) == [60, 60, 60], "All sides are equal"
assert checkio(3, 4, 5) == [37, 53, 90], "Egyptian triangle"
assert checkio(2, 2, 5) == [0, 0, 0], "It's can not be a triangle"
print("Coding complete? Click 'Check' to earn cool rewards!")
April 10, 2019
Comments: