Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Creative category for The Angles of a Triangle by Kurush
import math
checkio=lambda a, b, c: [0, 0, 0] if c >= a + b else [round(math.degrees(math.acos((sorted([a, b, c])[(1 + i)%3] ** 2 + sorted([a, b, c])[(2+i)%3] ** 2 - sorted([a, b, c])[(0+i)%3] ** 2) / (2.0 * sorted([a, b, c])[(1+i)%3] * sorted([a, b, c])[(2+i)%3])))) for i in range(3) if c < a + b]
#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"
June 15, 2014