编写一个函数,判断三个数是否能构成一个三角形,python

发布网友

我来回答

12个回答

懂视网

python三角形判定怎么做?下面给大家带来具体的例子:

热心网友

#!/usr/bin/env python
# -*- coding: utf-8 -*-
a = input()

b = input()

c = input()

if (a + b > c and a + c > b and b + c > a and abs(a - b) < c and abs(a - c) < b and abs(b - c) < a):

print "能组成三角形"

else:

print "不能组成三角形"

程序条件时根据三角形原理两边之和大于第三边,两边之差小于第三边的规则判断。

例如程序运行时分别输入2、3、4,程序输出"能组成三角形"。

扩展资料

1、python输入用法介绍:

python输入时使用input( )函数,这个函数只能接收“数字”的输入,返回所输入的数字的类型( int, float )。

示例:

a = input("input a: ")

print(a,type(a))

2、python abs函数介绍

abs() 函数返回数字的绝对值,语法是:abs( x ),函数返回x(数字)的绝对值。

热心网友

#encoding=utf-8

import math

while True:

    str=raw_input("please input three numbers a,b,c:('stop' to exit)")

    print "####",str,type(str)

    if str !="stop":

        x,y,z = eval(str)

        min_value=min(x,y,z)

        max_value=max(x,y,z)

        if min_value<=0:

           print "error"

        elif (x+y+z)>2*max_value:

            print u"能组成三角形"

        else:

            print u"不能组成三角形"

    else:

        break

扩展资料:

3个整数,判断是否能构成三角形可以根据数学公式进行判断。

一、数学定理

要构成三角形,必须要任意两边和大于第三边。

进行判断的时候,其实只需要判断最小的两边和大于最长一边即可。 

二、算法设计

根据数学定理,在获取到三个边长后,可以有多种方法进行判断。

1、穷举。不做大小判断,对任意两边相加大于第三边即可。即:

a+b>c&&a+c>b&&b+c>a 

2、判断出三边大小关系,并排列,得到序列a≥b≥c,然后判断a+b>c即可。

3、得到三边a,b,c并得到其中最大值max,然后判断a+b+c>max*2即可。

热心网友

付费内容限时免费查看回答#include int judge(int x,int y,int z){int m; if (((x+y)>z)&&((x-y)y)&&((x-z)x)&&((y-z)main(){int a,b,c,n;printf("请输入a,b,c");scanf("%d%d%d",&a,&b,&c);n=judge(a,b,c);if (n==1)if (((a*a+b*b)==c*c)||((a*a+c*c)==b*b)||(b*b+c*c==a*a))printf("能够成直角三角形");elseprintf("能够成三角形");elseprintf("不能构成三角形");}

希望我的回答对您有所帮助哦

提问这不是C语言吗

我要的是Python

Python

回答啊非常抱歉,稍等一下

a = input("请输入第1个数字:")

a=int(a) #input()函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型,这里需要转为int类型

b = input("请输入第2个数字:")

b=int(b)

c = input("请输入第3个数字:")

c=int(c)

if (a<=0 or b<=0 or c<=0):

print("这三个数无法组成三角形")

elif a+b<c or b+c<a or c+a<b:

print("这三个数无法组成三角形")

elif a==b==c:

print("这是一个等边三角形")

elif a==b or b==c or c==a:

print("这是一个等腰三角形")

else:

print("这是一个普通三角形")

提问判断锐角,钝角,直角,等腰,等边

还有两个

回答你好哦,给你推荐一个软件CSDN,这个是很好的一个学习代码的东西

a,b,c=map(int ,input().split())

if a<b+c and b<a+c and c<a+b:

if a==b==c:

print('等边三角形')

elif a==b or a==c or b==c:

if a*a+b*b==c*c or a*a+c*c==b*b or b*b+c*c==a*a:

print('等腰直角三角形')

else:

print('等腰三角形')

elif a*a+b*b==c*c or a*a+c*c==b*b or b*b+c*c==a*a:

print('直角三角形')

else:

print('普通三角形')

else:

print('无法构成三角形')

热心网友

代码:

def is_triangle(a, b, c):
    if a + b > c and a + c > b and b + c > a and a > 0 and b > 0 and c > 0:
        print ("是三角形")
    else:
        print ("不是三角形")

测试代码:

import random


for i in range(10):
    a = random.randint(-2, 10)
    b = random.randint(-2, 10)
    c = random.randint(-2, 10)
    print a, b, c
    is_triangle(a, b, c)

测试输出:

热心网友

def Judge(a,b,c):
    if a+b>c and b+c>a and a+c>b:
    print("是三角形")
    else:
    print("不是三角形")
    return;
    
#输入三条边长,逗号分隔
a,b,c=[float(items) for items in input().split(',')]
Judge(a,b,c)

热心网友

简单写了一下,你看看行不行

def sj(a,b,c):
    m = max(a,b,c)
    if (a + b + c > 2 * m):
        return True
    return False

print(sj(3,4,5))
print(sj(1,2,4))

热心网友

def isThriangle(a, b, c):
    if a+b > c and a+c > b and b+c > a:
        return 1
    else:
        return 0

if(isThriangle(3, 4, 5) == 1):
    print("是三角形")
else:
    print("不是三角形")

热心网友

def sjx( a, b, c ):
    if ( a+b > c and a+c > b and b+c > a ):
        return True
    else :
        return False

x=sjx( 3,4,5 )
print(x)
x=sjx( 1,1,2 )
print(x)

热心网友

def triangle(a, b, c):
    if a + b > c and a + c > b and b + c > a and a > 0 and b > 0 and c > 0:
        print ("是三角形")
    else:
        print ("不是三角形")

热心网友

def judge(a, b, c):

# 默认输入的都是数值,没有加对应不是数值的判断。


# 判断三个数是否都大于0

for line in a, b, c:

if line <= 0:

print(False)

return False


# 任意两边之和大于第三边

if (a + b - c) * (a + c - b) * (b + c - a) > 0:

print(True)

return True

else:

print(False)

return False

热心网友

def judge(a, b, c):

# 默认输入的都是数值,没有加对应不是数值的判断。

# 判断三个数是否都大于0

for line in a, b, c:

if line <= 0:

print(False)

return False

# 任意两边之和大于第三边

if (a + b - c) * (a + c - b) * (b + c - a) > 0:

print(True)

return True

else:

print(False)

return False

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com