# 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判断三角形的形状的更多相关文章

  1. python判断字符串

    python判断字符串 s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小 ...

  2. 【Python备忘】python判断文件和文件夹是否存在

    python判断文件和文件夹是否存在 import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果 ...

  3. 【C语言】判断三角形类型

    根据输入的三角形的三边判断三角形的类型,并输出其面积和类型. #include<stdio.h> #include<stdlib.h> #include<math.h&g ...

  4. python 判断连个 Path 是否是相同的文件夹

    python 判断连个 Path 是否是相同的文件夹 import os os.path.normcase(p1) == os.path.normcase(p2) normcase() 在 windo ...

  5. Python3:判断三角形的类型

    # 判断三角形类型def triangle(a,b,c): if a>0 and b>0 and c>0: if a+b>c and b+c>a and a+c>b ...

  6. Python判断列表是否已排序的各种方法及其性能分析

    目录 Python判断列表是否已排序的各种方法及其性能分析 声明 一. 问题提出 二. 代码实现 2.1 guess 2.2 sorted 2.3 for-loop 2.4 all 2.5 numpy ...

  7. python 判断变量是否存在 防止报错

    Python判断变量是否存在 方法一:使用try: ... except NameError: .... try: var except NameError: var_exists = False e ...

  8. python 判断是否为中文

    python在执行代码过程是不知道这个字符是什么意思的.是否是中文,而是把所有代码翻译成二进制也就是000111这种形式,机器可以看懂的语言. 也就是在计算机中所有的字符都是有数字来表示的.汉字也是有 ...

  9. (转)python 判断数据类型

    原文:https://blog.csdn.net/mydriverc2/article/details/78687269 Python 判断数据类型有type和isinstance 基本区别在于: t ...

  10. python判断字符串是否为空的方法s.strip()=='' if not s.strip():

    python 判断字符串是否为空用什么方法? 复制代码 s=' ' if s.strip()=='':     print 's is null' 或者 if not s.strip():     p ...

随机推荐

  1. [工作]IT连和IT恋产品已完成第一版,准备上线运营

    本文为原创文章,转载请注明出处!我的博客地址:http://www.cnblogs.com/txwd 嗯!又该写一下工作记录了,因为到目前为此,产品基本完成1.0版本了.安卓版的IT连和IT恋已经小更 ...

  2. 20203412马畅若 实验二《Python程序设计》实验报告

    20203412马畅若    实验二<Python程序设计>实验报告 课程:<Python程序设计>班级: 2034姓名:马畅若学号:20203412实验教师:王志强实验日期: ...

  3. Java-Collectors.groupingBy

    Java中的Collectors类的groupingBy()方法用于按某些属性对对象进行分组并将结果存储在Map实例中. 当我我们想利用它的特性,我们需要指定一个属性来执行分组.此方法提供的函数类似于 ...

  4. [canvas]ncaught TypeError: Cannot read properties of null (reading 'getContext')

    相信你和我一样是直接复制大佬的js代码(笑) ------------ 主要问题在于:js先加载完了,html才加载,导致js获取不了html的对象 解决办法: 把  <head />  ...

  5. e网通公告

    title:用户须知titleend<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \&qu ...

  6. Linux FTP服务器配置文件vsftpd.conf 配置

    配置文件/etc/vsftpd/vsftpd.conf local_enable=YES            write_enable=YESlocal_umask=022dirmessage_en ...

  7. Mybatis开发之mapper代理实现自定义接口(常用)

    Mybatis开发之mapper代理实现自定义接口(常用) 通过mapper代理实现自定义接口 自定义接口,接口里面定义定义相关的业务方法 编写方法相对应的Mapper.xml. 定义完接口后,Map ...

  8. rxjs笔记(未完成)

    首先是 Observable 和promise的区别, 1返回值个数,Observable 可以返回0到无数个值. 2.Promise主动推送,控制着"值"何时被 "推送 ...

  9. Vue项目的打包方式(生成dist文件)

    一.相关配置情况一(使用的工具是 vue-cil) 如果是用 vue-cli 创建的项目,则项目目录中没有 config 文件夹,所以我们需要自建一个配置文件:在根目录 src 下创建文件 vue.c ...

  10. sqlalchemy 数据类型