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

 我来答
帐号已注销
2019-07-03 · TA获得超过1.2万个赞
知道答主
回答量:25
采纳率:0%
帮助的人:6115
展开全部

#!/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(数字)的绝对值。

果果就是爱生活
高能答主

2020-04-16 · 专注生活教育知识分享
果果就是爱生活
采纳数:2071 获赞数:272276

向TA提问 私信TA
展开全部

#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即可。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魂挽歌_
2017-08-18 · TA获得超过377个赞
知道答主
回答量:80
采纳率:78%
帮助的人:44.7万
展开全部

代码:

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)

测试输出:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RU恶魔猎手SH
2017-12-26 · TA获得超过433个赞
知道小有建树答主
回答量:363
采纳率:85%
帮助的人:227万
展开全部
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)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
就烦条0o
2015-11-19 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部

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

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))
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式