任意输入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))

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

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python编写程序来判断用户输入的3个数字是否能构成三角形的三条边。具体实现方法如下: 1. 首先,从用户那里获取3个数字,可以使用input()函来实现。 2. 接着,将这3个数字转换为浮点类型,可以使用float()函来实现。 3. 然后,判断这3个数字是否能构成三角形的三条边。根据三角形的性质,如果任意两边之和大于第三边,则这三条边可以构成一个三角形。因此,可以使用if语句来实现这个判断。 4. 最后,根据判断结果输出相应的提示信息,告诉用户这3个数字是否能构成三角形的三条边。 下面是一个示例程序: a = float(input("请输入第一条边的长度:")) b = float(input("请输入第二条边的长度:")) c = float(input("请输入第三条边的长度:")) if a + b > c and a + c > b and b + c > a: print("这三个字可以构成一个三角形。") else: print("这三个字不能构成一个三角形。") ### 回答2: 在Python判断用户输入的3个数字是否能构成三角形的三条边,需要先了解三角形的性质。三角形是由三条边和三个角所组成的图形,其性质是任意两边之和大于第三边,并且三角形任意一边都小于另外两边之和。 因此,我们需要通过编写Python代码来实现这些性质的判断,具体步骤如下: 1. 首先,我们可以使用input()函来获取用户输入三个字,我们可以对其进行类型转换成float类型的字。 2. 接着,我们定义一个函triangle(),该函需要传入三个,分别是三角形的三条边a、b、c。在该函内部,我们可以使用if语句对三角形的构成性质进行判断,如果任意两边之和大于第三边,并且三角形任意一边都小于另外两边之和,那么就是一个合法的三角形,此时返回True;否则,返回False。 3. 最后,在主函中调用triangle()函,并输出结果。如果返回True,我们就可以输出“可以构成三角形”;如果返回False,我们就可以输出“无法构成三角形”。 下面是具体的Python代码: ```python def triangle(a, b, c): if (a + b > c) and (a + c > b) and (b + c > a) and (a < b + c) and (b < a + c) and (c < a + b): return True else: return False a = float(input("请输入第一条边:")) b = float(input("请输入第二条边:")) c = float(input("请输入第三条边:")) if triangle(a, b, c): print("可以构成三角形") else: print("无法构成三角形") ``` 通过以上代码,我们就可以实现Python判断用户输入三个字是否能构成三角形的三条边的操作。 ### 回答3: 首先,判断三个能否构成三角形的条件是:任意两边之和大于第三边。 那么,我们可以先让用户分别输入三个字: ```python a = int(input("请输入第一条边的长度: ")) b = int(input("请输入第二条边的长度: ")) c = int(input("请输入第三条边的长度: ")) ``` 然后,我们可以通过 if 语句判断三个字是否能构成三角形: ```python if a+b>c and a+c>b and b+c>a: print("这三个字能构成三角形。") else: print("这三个字不能构成三角形。") ``` 在 if 语句中,使用了 and 运算符,表示同时满足三个条件。如果满足条件,则输出“这三个字能构成三角形。”,否则输出“这三个字不能构成三角形。”。 完整的代码如下: ```python a = int(input("请输入第一条边的长度: ")) b = int(input("请输入第二条边的长度: ")) c = int(input("请输入第三条边的长度: ")) if a+b>c and a+c>b and b+c>a: print("这三个字能构成三角形。") else: print("这三个字不能构成三角形。") ``` 运行程序,即可输入三个字来判断是否能构成三角形

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值