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 tn43hq07ovn43
import math as m
def angle(a, b, c):
return m.acos((a**2+b**2-c**2)/(2*a*b))
def checkio(a, b, c):
try:
angles = [angle(x, y, z) for (x, y, z) in ((a, b, c), (b, c, a), (c, a, b))]
result = sorted(round(m.degrees(x)) for x in angles)
return [0, 0, 0] if 0 in result else result
except:
return [0, 0, 0]
# def checkio(a, b, c):
# import math as m
# x=m.acos((a**2+b**2-c**2)/2*a*b)
# y=m.acos((b**2+c**2-a**2)/2*b*c)
# z=m.acos((c**2+a**2-b**2)/2*c*a)
# return [int(m.degrees(x)), int(m.degrees(y)), int(m.degrees(z))]
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
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"
Oct. 27, 2016