任意输入3个数,判断可否组成三角形(python)

任意输入3个数,判断可否组成三角形。html

三角形:两边之和大于第三边 
直角三角形:勾股定理post

代码以下:spa

# 输入合法性检查,必须输入正数,不支持科学计数法
'''
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))

转载于:https://www.cnblogs.com/lizhe860/p/9456279.htmlhtm