用python判断三角形的形状
# 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判断字符串
python判断字符串 s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小 ...
- 【Python备忘】python判断文件和文件夹是否存在
python判断文件和文件夹是否存在 import os os.path.isfile('test.txt') #如果不存在就返回False os.path.exists(directory) #如果 ...
- 【C语言】判断三角形类型
根据输入的三角形的三边判断三角形的类型,并输出其面积和类型. #include<stdio.h> #include<stdlib.h> #include<math.h&g ...
- python 判断连个 Path 是否是相同的文件夹
python 判断连个 Path 是否是相同的文件夹 import os os.path.normcase(p1) == os.path.normcase(p2) normcase() 在 windo ...
- 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 ...
- Python判断列表是否已排序的各种方法及其性能分析
目录 Python判断列表是否已排序的各种方法及其性能分析 声明 一. 问题提出 二. 代码实现 2.1 guess 2.2 sorted 2.3 for-loop 2.4 all 2.5 numpy ...
- python 判断变量是否存在 防止报错
Python判断变量是否存在 方法一:使用try: ... except NameError: .... try: var except NameError: var_exists = False e ...
- python 判断是否为中文
python在执行代码过程是不知道这个字符是什么意思的.是否是中文,而是把所有代码翻译成二进制也就是000111这种形式,机器可以看懂的语言. 也就是在计算机中所有的字符都是有数字来表示的.汉字也是有 ...
- (转)python 判断数据类型
原文:https://blog.csdn.net/mydriverc2/article/details/78687269 Python 判断数据类型有type和isinstance 基本区别在于: t ...
- python判断字符串是否为空的方法s.strip()=='' if not s.strip():
python 判断字符串是否为空用什么方法? 复制代码 s=' ' if s.strip()=='': print 's is null' 或者 if not s.strip(): p ...
随机推荐
- 使用tkinter开发的一款登录和注册图形化界面
目录 项目介绍 登录功能 登录界面展示 登录主要功能 登录部分源码 注册功能 注册界面展示 注册主要功能 注册部分源码 源码地址 项目介绍 使用tkinter开发的一款登录和注册图形化界面 使用tki ...
- 硬件路灯第一期CPU篇
CPU,central processing unit,也就是中央处理器,如果计算机是一个人的话,CPU就是他的大脑我们近下来会科普CPU的几大参数 1.主频假设CPU是建筑工地的话,主频相当于工人们 ...
- 性能测试-dstat以及sar(网络相关数据查看)
1.dstat参数说明 # 安装 yum install dstat -y dstat命令不加任何参数时,会收集CPU.磁盘.网络.分页.系统的数据信息,每秒收集一次.缺省参数时相当于dstat -c ...
- BUU刷题记录
[GWCTF 2019]mypassword xss+csp 打开页面可以注册登录 登进去提示不是sql注入 然后提示源码 看一下 然后有段后端代码写道了注释里 <!-- if(is_array ...
- 并发多线程学习(六)Java线程间的通信
合理的使用Java多线程可以更好地利用服务器资源.一般来讲,线程内部有自己私有的线程上下文,互不干扰.但是当我们需要多个线程之间相互协作的时候,就需要我们掌握Java线程的通信方式.本文将介绍Java ...
- scrapy中发送post请求
1.可以使用`yield scrapy.FormRequest(url,formdata,callback)`方法发送POST请求. 其中构造参数formdata可以是字典,也可以是可迭代的(key, ...
- ubuntu usb network card drive
通过 lsusb -t命令查看网卡型号 /: Bus 02.Port 1: Dev 1, class="root_hub", Driver=xhci_hcd/4p, 5000M | ...
- ScrollView 滚动条
<style name="fa_SlideTabRecyclerView"> <item name="android:scrollbarThumbVer ...
- Warning: PHP Startup: Unable to load dynamic library 'php_pdo_oci.dll'处理
出现这样提示的原因可能有以下几种: (1)没有在php.ini中将extension=php_pdo_mysql.dll前面的分号去掉 在php.ini中分号表示注释,因为在配置时被注释掉了,所谓无法 ...
- 如何搭建Redis集群(主从+哨兵)
一.什么是redis主从复制? 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点 ...