任意输入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有两个连 ...
随机推荐
- 吴恩达深度学习笔记(十二)—— Batch Normalization
主要内容: 一.Normalizing activations in a network 二.Fitting Batch Norm in a neural network 三.Why does ...
- Android 开发人员必须掌握的 10 个开发工具
Android 开发人员必须掌握的 10 个开发工具 Android SDK 本身包含很多帮助开发人员设计.开发.测试和发布 Android 应用的工具,在本文中,我们将讨论 10 个最常用的工具. ...
- linux jdk安装。
我使用的centos 7: 安转sun公司的jdk要先检查系统中是否安装jdk,一般来说Centos系统会默认会安装OpenJDK,但是openJDK部分内容 与SUN JDK不兼容,因此下面进行重新 ...
- 利用PushbackReader读取文件中某个字符串之前的内容
package File; import java.io.FileReader; import java.io.IOException; import java.io.PushbackReader; ...
- git 里面遇到的问题
第一步:建立git仓库(本地) cd到你的本地项目根目录下,执行git命令 git init 第二步:将项目的所有文件添加到仓库中 git add . 如果想添加某个特定的文件,只需把.换成特定的文件 ...
- 更改自己iCloud的地区
百度一大堆都是过时的,而且没有用,通过google后发现google+里有一个文章https://plus.google.com/+%E5%90%B4%E5%BF%97%E5%8B%8776/post ...
- 在openstack环境中安装rackspace private cloud --1 环境准备
在一个openstack环境中安装rackspace private cloud, 环境准备: 在good-net网络中创建3个虚拟机vm Network Detail: good-net Netwo ...
- Respond.js的作用
在html页面中我们经常看到 <!--[if lt IE 9]> //判断当前浏览器的版本是否小于IE 9 <script src="https:/ ...
- R文件报错:cannot resolve symbol ‘R’
今天仿照别人项目,因为不太熟悉Androidstudio,所以就照着他项目结构走,结果包名跟他的不一样,项目一直报标题这个错误,网上百度了很多也没用,不过先把网上的解决方案copy一下 请注意 ① E ...
- FunnelWeb 开源Blog引擎介绍
FunnelWeb is an open source blog engine, built by developers for developers. Instead of fancy quotes ...