用python判断三角形的形状

2023-03-12,,

# coding:utf-8

class point:
def __init__(self,x,y,name):
self.x = x
self.y = y
self.name = name '''两点距离公式'''
def distance(self,p2):
self.d=((self.x-p2.x)**2+(self.y-p2.y)**2)**0.5
return self.d '''获取两点距离'''
def getd(self,p2):
self.distance(p2)
print('点 ({},{}) 与 ({},{}) 的距离是 {} '.format(self.x,self.y,p2.x,p2.y,self.d)) '''判断这三点能否形成一个三角形'''
def istriangle(self,p2,p3):
self.l_list=[]
self.l_list.append(self.distance(p3))
self.l_list.append(p2.distance(p3))
self.l_list.append(self.distance(p2))
'''线段长度由小到大排序'''
self.l_list.sort()
if (self.l_list[0]+self.l_list[1]>self.l_list[2]) and (self.l_list[1]+self.l_list[2]>self.l_list[0]) and (self.l_list[2]+self.l_list[0]>self.l_list[1]):#长度判断
return '能构成三角形'
else:
return '不能构成' '''判断是哪种三角形'''
def whichtriangle(self,p2,p3):
result=self.istriangle(p2,p3)
if result=='不能构成':
return print('所以点',self.name,p2.name,p3.name,'无法构成一个三角形')
if self.l_list[0]**2+self.l_list[1]**2>self.l_list[2]**2:#锐角三角形
print('所以点',self.name,p2.name,p3.name,'能构成一个锐角三角形')
elif self.l_list[0]**2+self.l_list[1]**2==self.l_list[2]**2:#直角三角形
print('所以点',self.name,p2.name,p3.name,'能构成一个直角三角形')
elif self.l_list[0]**2+self.l_list[1]**2<self.l_list[2]**2:#钝角三角形
print('所以点',self.name,p2.name,p3.name,'能构成一个钝角三角行') if __name__ == '__main__':
'''第一组输入'''
try:
p1 = point(0, A, 'p1') #输入坐标点P1的x,y坐标及点的名字
p2 = point(1, 3, 'p2') #输入坐标点P2的x,y坐标及点的名字
p3 = point(9, 7, 'p3') #输入坐标点P3的x,y坐标及点的名字
p1.getd(p2) #计算点p1与p2的距离,也就是三角形的一条边
p2.getd(p3) #计算点p2与p3的距离,也就是三角形的一条边
p3.getd(p1) #计算点p3与p1的距离,也就是三角形的一条边
p1.whichtriangle(p2, p3) #任意2边的平方之和与第三边平方做比较,大于是锐角,等于是直角,小于是钝角
print() #输入结果之间加一个空行
except:
print("输入的值错误")

  

用python判断三角形的形状的相关教程结束。

《用python判断三角形的形状.doc》

下载本文的Word格式文档,以方便收藏与打印。