Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for The Angles of a Triangle by MartynaDziubalka
import math
def checkio(a, b, c):
if (a + b >= c and a + c >= b and c + b >= a):
x = (b ** 2 - a ** 2 + c ** 2) / (2 * c)
h = math.sqrt(b ** 2 - x ** 2)
beta = math.degrees(math.asin(h/a))
alpha = math.degrees(math.asin(h/b))
if alpha == 0 or beta == 0:
gamma = 0
else:
gamma = 180 - alpha - beta
triangle_angles = [round(alpha), round(beta), round(gamma)]
triangle_angles.sort()
return triangle_angles
else:
return [0, 0, 0]
#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"
Jan. 29, 2016
Comments: