任意三角形形状判断|Python练习系列[10]
2021-02-20 15:17
标签:线段 注释 lis int() elf 练习 doc name code 代码演示视频 完整代码和注释如下 任意三角形形状判断|Python练习系列[10] 标签:线段 注释 lis int() elf 练习 doc name code 原文地址:https://www.cnblogs.com/Trix/p/12681779.htmlclass point(object):#定义平面点类
"""docstring for 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(‘The distance of ({},{}) and ({},{}) is {} ‘.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 ‘can‘
else:
return ‘can not‘
def getresult(self,p2,p3):#获取能否形成三角形的结果
result=self.istriangle(p2,p3)
print(‘Points:‘,self.name,p2.name,p3.name,result,‘form a triangle‘)
def whichtriangle(self,p2,p3):#判断是哪种三角形
result=self.istriangle(p2,p3)
if result==‘can not‘:
return print(‘Points:‘,self.name,p2.name,p3.name,result,‘form a triangle‘)
if self.l_list[0]**2+self.l_list[1]**2>self.l_list[2]**2:#锐角
print(‘Points:‘,self.name,p2.name,p3.name,result,‘form a acute triangle‘)
elif self.l_list[0]**2+self.l_list[1]**2==self.l_list[2]**2:#直角
print(‘Points:‘,self.name,p2.name,p3.name,result,‘form a right triangle‘)
elif self.l_list[0]**2+self.l_list[1]**2
下一篇:Python 遇到的小问题
文章标题:任意三角形形状判断|Python练习系列[10]
文章链接:http://soscw.com/index.php/essay/58026.html