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 PiotrStachowiak
def checkio(a, b, c):
import math
if a+b<=c or a+c<=b or b+c<=a:
return [0, 0, 0]
p=(a+b+c)/2
boki= sorted([a, b, c])
pole= math.sqrt((p)*(p-a)*(p-b)*(p-c))
lista=[]
for i in range (2):
lista.append(round(math.degrees((math.asin(pole/((boki[i]*boki[2])/2))))))
lista.append(180-lista[0]-lista[1])
return sorted(lista)
#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"
Nov. 4, 2016