任意输入3个数,判断能否组成三角形(python)
任意输入3个数,判断能否组成三角形。
三角形:两边之和大于第三边
直角三角形:勾股定理
代码如下:
# 输入合法性检查,必须输入正数,不支持科学计数法
'''
try:
<语句>
except <name>:
<语句> #如果在try部份引发了名为'name'的异常,则执行这段代码
else:
<语句> #如果没有异常发生,则执行这段代码
'''
def ispositive(num):
try:
float(num)
except:
return False
else:
if float(num) <= 0:
return False
else:
return True # 直角三角形判断
def isRightTriangle(num1,num2,num3):
if num1**2 + num2**2 == num3**2 or num1**2 + num3**2 == num2**2 or num2**2 + num3**2 == num1**2:
return True
else:
return False a = input("请输入第1个数字:")
while not ispositive(a):
a = input("不是有效数字,请重新输入:")
b = input("请输入第2个数字:")
while not ispositive(b):
b = input("不是有效数字,请重新输入:")
c = input("请输入第3个数字:")
while not ispositive(c):
c = input("不是有效数字,请重新输入:") a = float(a)
b = float(b)
c = float(c) # 判断是否可以组成三角形
if a + b > c and a + c > b and b + c > a:
if a == b == c:
print('%.2f,%.2f,%.2f能组成等边三角形'%(a,b,c))
elif a == b or a == c or b == c:
if isRightTriangle(a,b,c):
print('%.2f,%.2f,%.2f能组成等腰直角三角形'%(a,b,c))
else:
print('%.2f,%.2f,%.2f能组成等腰三角形'%(a,b,c))
elif isRightTriangle(a,b,c):
print('%.2f,%.2f,%.2f能组成直角三角形'%(a,b,c))
else:
print('%.2f,%.2f,%.2f能组成普通三角形'%(a, b, c))
else:
print('%.2f,%.2f,%.2f不能组成三角形'%(a,b,c))
任意输入3个数,判断能否组成三角形(python)的更多相关文章
- python初学者-输入一个数判断奇偶性
num = int(input("请输入一个整数:")) if num%2 == 0: print("这个数是偶数",num) else: print(&quo ...
- python初学者-从键盘输入两个数判断大小
a = int(input("a:")) b = int(input("b:")) if a > b : print(a) else : print(b)
- 从数组中任意取出2个数,判断他们的和是否为输入的数字sum,时间复杂度为0(n^2),空间复杂度0(1)
从数组中任意取出2个数,判断他们的和是否为输入的数字sum,时间复杂度为0(n^2),空间复杂度0(1) 假设数据已经是排序好的 #include <stdio.h> #include & ...
- Shell脚本中判断输入参数个数的方法投稿:junjie 字体:[增加 减小] 类型:转载
Shell脚本中判断输入参数个数的方法 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Shell脚本中判断输入参数个数的方法,使用内置变量$#即可实现判断输入了多少个参数 ...
- python脚本2_输入2个数比较大小后从小到大升序打印
#输入2个数,比较大小后,从小到大升序打印 a = input('first: ') b = input('second: ') if a > b: print(b,a) else: print ...
- 输入两个整数n 和m,从数列1,2,3.......n 中任意取几个数, 使其和等于m ,要求将当中全部的可能组合列出来
中兴面试题之中的一个.难度系数中. 题目描写叙述例如以下:输入两个整数n 和m,从数列1,2.3.......n 中任意取几个数, 使其和等于m ,要求将当中全部的可能组合列出来. 逻辑分析: 1.比 ...
- python输入一行字符,判断不同字符数量
输入一行字符,判断不同字符的数量, 分别用for循环和while循环完成 for循环 运用了字符串方法, isupper()判断是否为大写字母 islower()判断是否为小写字母 isdigit() ...
- python应用-输入三个数,输出其最大值
""" 输入三个数,输出其最大值 Author:罗万财 Date:2017-7-6 """ a=int(input('a=')) b=int ...
- 面试题解:输入一个数A,找到大于A的一个最小数B,且B中不存在连续相等的两个数字
玄魂工作室秘书 [玄魂工作室] 昨天发的算法有一处情况没考虑到,比如加一后有进位,导致又出现重复数字的情况,修正后今天重新发一次. 比如输入99,那B应该是101 因为100有两个连 ...
随机推荐
- Spring Cloud Stream消息总线
Springcloud 里面对于MQ的整合一个是前一篇的消息总线一个是本文介绍的消息驱动 大体要学习这么几个知识点: 课题:SpringCloud消息驱动Stream1.什么是SpringCloud消 ...
- 关于 Java正则表达式中的Possessive数量修饰词的理解
关于 Java正则表达式中的Possessive数量修饰词的理解 正则表达式对于数量限定符如 ?, + , *, {n, m} 的匹配默认是贪婪模式,比如: a.*b 匹配 acbab 的结果是 ...
- this和super用法
1. this能分清混淆,形参名与当前对象的某个成员有相同的名字,需要明确使用this关键字来指明你要使用某个成员,使用方法是“this.成员名”. 一般以this.形参数名=形参名,代表送进来赋值的 ...
- bzoj 1087 [SCOI2005]互不侵犯King 状态压缩dp
1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec Memory Limit: 162 MB[Submit][Status][Discuss] Descripti ...
- linux学习-磁盘管理
- 写hibernate.cfg.xml时报错The content of element type "property" must match "(meta*,(column|formula)*,type?)".
原配置文件是这样的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-ma ...
- eclispe中使用 maven build启动maven项目和打包项目
1.右键项目2.点击run as按钮 3.点击run configurations 4.配置如下: =============================加油加油加油加油加油加油========= ...
- IaaS中的统一存储:从设计到实现
转自:https://www.ustack.com/blog/tycc/ “原生的OpenStack并不支持统一存储,云主机服务Nova.镜像服务Glance.云硬盘服务Cinder的后端存储各不相同 ...
- Java_脚本引擎_03_nashorn支持es6
一.前言 jdk1.8的nashorn 支持部分es6语法. 二.支持es6 jdk默认是关闭了对es6的支持的,想要开启对es6的支持,需要设置一下jvm参数: -Dnashorn.args=--l ...
- Android Studio 学习 - Intent学习
今天开始仔细的学习Intent. 看的比较多,还在消化中,后续继续完善本篇笔记……