任意输入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有两个连 ...
随机推荐
- JDK各个版本的新特性jdk1.5-jdk8[转]
JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一 ...
- 【P1369】矩形(贪心)
蒟蒻现在连DP都做不出来了,就只能做一些XJB贪心题,这个题题目向非常友好,100的数据范围一看就是让你跑O(n^4)的做法的,然而实际上并不是那么多,大约是,额,反正要快不少. 没什么好说的,直接枚 ...
- 虚拟机开启Linux时出现“我以复制虚拟机”、“我已移动虚拟机”
当出现标题的情况时,并且网络出现状况时,可以尝试一下解决办法 首先用ifconfig -a命令调出现在的网卡驱动的名称和HWaddr地址,然后再编辑/etc/sysconfig/networking/ ...
- 一个最简单的JMeter测试流程
环境: JMeter 3.3 JDK 1.8 首先下载JMeter安装包 可以去官网下载. http://jmeter.apache.org/ 然后选择Download Windows系 ...
- Swagger自动生成接口文档
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- 从性能的角度谈SQL Server聚集索引键的选择
简介 在SQL Server中,数据是按页进行存放的.而为表加上聚集索引后,SQL Server对于数据的查找就是按照聚集索引的列作为关键字进行了.因此对于聚集索引的选择对性能的影响就变得十分重要 ...
- nyojb 2357
http://acm.nyist.me/JudgeOnline/problem.php?id=2357 2357: 插塔憋憋乐 时间限制: 1 Sec 内存限制: 128 MB提交: 50 解决: ...
- SOLID
S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写. SRP The Single Responsibility ...
- mobiscroll时间控件
https://docs.mobiscroll.com/3-0-0_beta/javascript/numpad#events 这个是官方的日期插件,日历,什么效果都有,很强大的. mobiscrol ...
- mysql数据库优化。(强力推荐)
本文转自:https://m.aliyun.com/yunqi/articles/38809 一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善 ...