任意三角形形狀判斷 Python練習系列 10

2021-10-23 06:14:45 字數 2649 閱讀 2888

完整**和注釋如下

class

point

(object):

#定義平面點類

"""docstring for point"""

def__init__

(self,x,y,name)

: self.x = x

self.y = y

self.name = name

defdistance

(self,p2)

:#兩點距離公式

self.d=

((self.x-p2.x)**2

+(self.y-p2.y)**2

)**0.5return self.d

defgetd

(self,p2)

:#獲取兩點距離

self.distance(p2)

print

('the distance of ({},{}) and ({},{}) is {} '

.format

(self.x,self.y,p2.x,p2.y,self.d)

)def

is********

(self,p2,p3)

:#判斷這三點能否形成乙個三角形

self.l_list=

#先獲取這三點構成的三條線段的長度))

) 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'

defgetresult

(self,p2,p3)

:#獲取能否形成三角形的結果

result=self.is********(p2,p3)

print

('points:'

,self.name,p2.name,p3.name,result,

'form a ********'

)def

which********

(self,p2,p3)

:#判斷是哪種三角形

result=self.is********(p2,p3)

if result==

'can not'

:return

print

('points:'

,self.name,p2.name,p3.name,result,

'form a ********'

)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 ********'

)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 ********'

)elif self.l_list[0]

**2+self.l_list[1]

**2**2

:#鈍角

print

('points:'

,self.name,p2.name,p3.name,result,

'form a obtuse ********'

)#測試

p1=point(12,

-5,'p1'

)p2=point(16,

18,'p2'

)p3=point(9,

7,'p3'

)p1.getd(p2)

p1.getresult(p2,p3)

p1.which********(p2,p3)

print()

p5=point(0,

3,'p5'

)p6=point(4,

0,'p6'

)p7=point(0,

0,'p7'

)p5.getd(p6)

p5.which********(p6,p7)

print()

p8=point(10,

3,'p8'

)p9=point(4,

3,'p9'

)p10=point(-9

,0,'p10'

)p8.getd(p9)

p8.which********(p9,p10)

任意三角形形狀判斷 Python練習系列 10

完整 和注釋如下 class 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...

DS 判斷三角形形狀

題目描述 編寫程式,根據三角形三條邊的長度判斷該三角形是哪種三角形?三角形的型別包括 等邊三角形 等腰三角形 直角三角形 普通三角形 也有可能,無法組成三角形 輸入輸入包括多行資料,每行包括三個正整數,a,b,c代表三角形三條邊的長度 輸出針對每行輸入,做如下處理後換行 如果該三角形是等邊三角形,輸...

三角形形狀

描述 給以乙個三角形的三邊長a,b和c 邊長是浮點數 請你判斷三角形的形狀。若是銳角三角形,輸出r,若是直角三角形,輸出z,若是鈍角三角形,輸出d,若三邊長不能構成三角形,輸出w.from future importprint function a,b,c 6,8,10 defwhat kind a...