使用python编程语言编写程序:输入a、b、c三个数,判断a、b、c能否构成三角形,如果能够构成三角形,判断该三角形是等腰三角形还是等边三角形,还是直角三角形,还是一般三角形。并计算周长和面积。
使用python编程语言编写程序:输入a、b、c三个数,判断a、b、c能否构成三角形,如果能够构成三角形,判断该三角形是等腰三角形还是等边三角形,还是直角三角形,还是一般三角形。并计算周长和面积。代码:#-是否有效def is_valid(x):if type(x) in {int,float} and x>0:return Trueelse:return False#是否是三角形de
使用python编程语言编写程序:输入a、b、c三个数,判断a、b、c能否构成三角形,如果能够构成三角形,判断该三角形是等腰三角形还是等边三角形,还是直角三角形,还是一般三角形。并计算周长和面积。
代码:
#-是否有效
def is_valid(x):
if type(x) in {int,float} and x>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 a+c>b and b+c>a:
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=(a+b+c)/2
area=(p*(p-a)*(p-b)*(p-c))**0.5
return area
else:
return -1
#判断是否直角三角形
def is_right(a,b,c):
if is_triangle(a,b,c):
lst = sorted((a,b,c))
if abs(lst[0]**2+lst[1]**2-lst[2]**2)<=0.00000001:
return True
else:
return False
else:
return -1
#判断是否等腰
def is_iso(a,b,c):
if is_triangle(a,b,c):
lst = sorted((a,b,c))
if lst[0]!=lst[2] and (lst[0]==lst[1] or lst[1]==lst[2]):
return True
else:
return False
else:
return -1
#-是否有效
def is_valid(x):
if type(x) in {int,float} and x>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 a+c>b and b+c>a:
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=(a+b+c)/2
area=(p*(p-a)*(p-b)*(p-c))**0.5
return area
else:
return -1
#判断是否直角三角形
def is_right(a,b,c):
if is_triangle(a,b,c):
lst = sorted((a,b,c))
if abs(lst[0]**2+lst[1]**2-lst[2]**2)<=0.00000001:
return True
else:
return False
else:
return -1
#判断是否等腰
def is_iso(a,b,c):
if is_triangle(a,b,c):
lst = sorted((a,b,c))
if lst[0]!=lst[2] and (lst[0]==lst[1] or lst[1]==lst[2]):
return True
else:
return False
else:
return -1
# 判断是否等边三角形
def is_equ(a,b,c):
if is_triangle(a,b,c):
if a==b and b==c and c==a:
return True
else:
return False
else:
return -1
def is_l_triangle(a,b,c):
if is_triangle(a,b,c):
if not is_right(a,b,c) and not is_equ(a,b,c)and not is_iso(a,b,c):
return True
else:
return False
return -1
a=float(input('输入第一条边a:'))
b=float(input('输入第二条边b:'))
c=float(input('输入第三条边c:'))
print("是否是三角形:"+str(is_triangle(a,b,c)))
print("周长:"+str(get_perimeter(a,b,c)))
print("面积"+str(get_area(a,b,c)))
print("是否是直角三角形:"+str(is_right(a,b,c)))
print("是否是等腰三角形:"+str(is_iso(a,b,c)))
print("是否是等边三角形:"+str(is_equ(a,b,c)))
print("是否是一般三角形:"+str(is_l_triangle(a,b,c)))
运行截图:
更多推荐
所有评论(0)