python三角形相关判断
import math def is_valid(num): if type(num) in {int,float} and num>0: return True else: return False #是否是三角形 def is_triangle(a, b, c): if is_valid(a) and is_valid(b) and is_valid(c) and (a+b>c) and (c+b>a) and (a+c>b): return True else: return False #周长 def get_perimeter(a,b,c): if is_triangle(a,b,c): return a+b+c else: return -1 #面积 def get_area(a,b,c): if is_triangle(a,b,c): p=get_perimeter(a,b,c)/2 area=(p*(p-c)*(p-b)*(p-c))**0.5 return area else: return -1 #直角 def is_right_angled_triangle(a,b,c): if is_triangle(a, b, c): if math.isclose(a**2+b**2,c**2) or math.isclose(c**2+b**2,a**2) or math.isclose(a**2+c**2,b**2): return True else: return False #锐角 def is_acute_angled_triangle(a, b, c): if is_triangle(a, b, c): if not is_right_angled_triangle(a,b,c): if a**2+b**2>c**2 or c**2+b**2>a**2 or a**2+c**2>b**2: return True else: return False else: return -1 #钝角 def is_obtuse_angled_triangle(a, b, c): if is_triangle(a, b, c): if not is_right_angled_triangle(a,b,c): if a**2+b**2<c**2 or c**2+b**2<a**2 or a**2+c**2<b**2: return True else: return False else: return -1 #判断两个三角是否相等 def is_equal_than(a1,b1,c1,a2,b2,c2): if is_triangle(a1,b1,c1) and is_triangle(a2,b2,c2): if set((a1,b1,c1))==set((a2,b2,c2)): return True else: return False else: return -1 if __name__ == "__main__": print(is_acute_angled_triangle(0.1 ** 0.5,0.2 ** 0.5,0.3 ** 0.5))