python:任意输入3个数,判断能否组成三角形

任意输入3个数,判断能否组成三角形,并输出三角形为等边/等腰/直角/普通三角形.
三角形:两边之和大于第三边
直角三角形:勾股定理

#!/usr/bin/python
# -*- coding:utf-8 -*-
#输入合法性检查,必须输入正数,不支持科学计数法
def ispositive(numb):
    try:
        float(numb)
    except:
        return False
    else:
        if float(numb) <= 0:
            return False
        else:
            return True
#直角三角形判断
def ispythagoras(a,b,c):
    if a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
        return True
    else:
        return False

num1 = input("pls enter 1st number:\n")
while not ispositive(num1):
    num1 = input("That's not a valid number. Try again:\n")

num2 = input("pls enter 2nd number:\n")
while not ispositive(num2):
    num2 = input("That's not a valid number. Try again:\n")

num3 = input("pls enter 3rd number:\n")
while not ispositive(num3):
    num3 = input("That's not a valid number. Try again:\n")

num1 = float(num1)
num2 = float(num2)
num3 = float(num3)
#欢迎点评,引用请注明出处
if num1 + num2 > num3 and num2 + num3 > num1 and num1 + num3 > num2:
    if num1 == num2 == num3:
        print("%.2f\n%.2f\n%.2f\n可以组成等边三角形" % (num1,num2,num3))
    elif num1 == num2 or num2 == num3 or num1 == num3:
        if ispythagoras(num1,num2,num3):
            print('%.2f\n%.2f\n%.2f\n可以组成等腰直角三角形' % (num1,num2,num3))
        else:
            print('%.2f\n%.2f\n%.2f\n可以组成等腰三角形' % (num1,num2,num3))
    elif ispythagoras(num1,num2,num3):
        print('%.2f\n%.2f\n%.2f\n可以组成直角三角形' % (num1,num2,num3))
    else:
        print('%.2f\n%.2f\n%.2f\n可以组成普通三角形' % (num1,num2,num3))
else:
    print('%.2f\n%.2f\n%.2f\n不能组成三角形' % (num1,num2,num3))
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值