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 iwo.malyszka
import math
def find_angle(a, b, c):
m = (c ** 2 - a ** 2 - b ** 2)/float((-2)*(a*b))
rads = math.acos(m)
return int(round(math.degrees(rads)))
def checkio(a, b, c):
if c >= a + b or a >= b + c or b >= a + c:
return [0,0,0]
else:
l = [find_angle(a, b, c), find_angle(a, c, b), find_angle(c, b, a)]
return sorted(l)
#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