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 Magu
from typing import List
from math import degrees, acos
def checkio(a: int, b: int, c: int) -> List[int]:
l = sorted([a, b, c])
if l[2] >= l[0] + l[1]: return [0, 0, 0]
cos_a = (b**2 + c**2 - a**2) / (2*b*c)
cos_b = (a**2 + c**2 - b**2) / (2*a*c)
cos_c = (a**2 + b**2 - c**2) / (2*a*b)
return sorted([round(degrees(acos(x))) for x in (cos_a, cos_b, cos_c)])
#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!")
Oct. 11, 2021
Comments: