编写一个函数,判断三个数是否能构成一个三角形,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>a2、判断出三边大小关系,并排列,得到序列a≥b≥c,然后判断a+b>c即可。
3、得到三边a,b,c并得到其中最大值max,然后判断a+b+c>max*2即可。
简单写了一下,你看看行不行
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))