要求:用户输入直角坐标系的三个坐标点,判断是否构成三角形,程序若出现错误,则抛出异常
import math
class Zuobiao:
def __init__(self, Ax, Ay, Bx, By, Cx, Cy):
self.Ax = Ax
self.Ay = Ay
self.Bx = Bx
self.By = By
self.Cx = Cx
self.Cy = Cy
self.abnum = (self.Ax - self.Bx) ** 2 + (self.Ay - self.By) ** 2
self.ablen = math.sqrt(self.abnum) # ab长度
self.acnum = (self.Ax - self.Cx) ** 2 + (self.Ay - self.Cy) ** 2
self.aclen = math.sqrt(self.acnum) # ac长度
self.bcnum = (self.Bx - self.Cx) ** 2 + (self.By - self.Cy) ** 2
self.bclen = math.sqrt(self.bcnum) # bc长度
def judge(self):
if self.Ax != self.Bx != self.Cx and self.Ay != self.By != self.Cy:
if self.ablen == self.aclen == self.bclen:
print('此三点能构成三角形,并且为等边三角形')
elif self.ablen + self.aclen > self.bclen > self.ablen - self.aclen:
print('此三点能构成三角形')
else:
print('此三点不能构成三角形')
try:
a,b = map(int,input("请输入a点坐标,且以','分割:").split(','))
c,d = map(int,input("请输入b点坐标,且以','分割:").split(','))
e,f = map(int,input("请输入c点坐标,且以','分割:").split(','))
zuobiao = Zuobiao(a,b,c,d,e,f) # 输入各个坐标
print(zuobiao.judge())
except Exception as error:
print('程序出现错误:',error)
运行结果: