谁会做python求帮帮忙啊,题目如下,谢谢大神啊
设计一个三角形计算器要求:1、输入三角形的三个边长。2、判断该三个边长是否可以构成一个三角形?如果可以,继续执行;否则,重新输入边长。3、输出三角形的周长和面积。...
设计一个三角形计算器要求:1、 输入三角形的三个边长。2、 判断该三个边长是否可以构成一个三角形?如果可以,继续执行;否则,重新输入边长。3、 输出三角形的周长和面积。
展开
1个回答
展开全部
import math
flag = True
while flag :
First = float(input('请输入三角形的第一边长:'))
Second = float(input('请输入三角形的第一边长:'))
Third = float(input('请输入三角形的第一边长:'))
if (First > 0 and Second > 0 and Third > 0) :
flag = False
else :
flag = True
print('输入的三边边长必须要大于0,请重新输入!\n')
# 从小到大排序,并赋值给a、b、c
a = min(First, Second, Third)
c = max(First, Second, Third)
if (First != a and First != c) :
b = First
elif(Second != a and Second != c) :
b = Second
else :
b = Third
print('该三角形三边边长分别为%0.2f, %0.2f, %0.2f' % (a, b, c))
print('\n')
# 判断三边是否能构成三角形
if ( a+b > c and c-a < b and c-b < a ) :
# 根据三边关系,判断三角形形状并求取其面积
if (a == b == c) :
Area = a*a * math.sin( math.pi/3 ) /2
print('该三角形为等边三角形,其面积为:%0.2f' % Area)
elif (a == b or b == c or a == c) :
C = (a+b+c) / 2
Area = math.sqrt( C*(C-a)*(C-b)*(C-c))
print('该三角形为等腰三角形,其面积为:%0.2f' % Area)
elif ( a**2 + b**2 == c**2 ) :
Area = a*b / 2
print('该三角形为直角三角形,其面积为:%0.2f' % Area)
else :
C = (a+b+c) / 2
Area = math.sqrt( C*(C-a)*(C-b)*(C-c))
print('该三角形为一般三角形,其面积为:%0.2f' % Area)
else :
print('当a = %0.2f, b = %0.2f, c = %0.2f为三边长时,不能构成三角形 !' % (a, b, c))
flag = True
while flag :
First = float(input('请输入三角形的第一边长:'))
Second = float(input('请输入三角形的第一边长:'))
Third = float(input('请输入三角形的第一边长:'))
if (First > 0 and Second > 0 and Third > 0) :
flag = False
else :
flag = True
print('输入的三边边长必须要大于0,请重新输入!\n')
# 从小到大排序,并赋值给a、b、c
a = min(First, Second, Third)
c = max(First, Second, Third)
if (First != a and First != c) :
b = First
elif(Second != a and Second != c) :
b = Second
else :
b = Third
print('该三角形三边边长分别为%0.2f, %0.2f, %0.2f' % (a, b, c))
print('\n')
# 判断三边是否能构成三角形
if ( a+b > c and c-a < b and c-b < a ) :
# 根据三边关系,判断三角形形状并求取其面积
if (a == b == c) :
Area = a*a * math.sin( math.pi/3 ) /2
print('该三角形为等边三角形,其面积为:%0.2f' % Area)
elif (a == b or b == c or a == c) :
C = (a+b+c) / 2
Area = math.sqrt( C*(C-a)*(C-b)*(C-c))
print('该三角形为等腰三角形,其面积为:%0.2f' % Area)
elif ( a**2 + b**2 == c**2 ) :
Area = a*b / 2
print('该三角形为直角三角形,其面积为:%0.2f' % Area)
else :
C = (a+b+c) / 2
Area = math.sqrt( C*(C-a)*(C-b)*(C-c))
print('该三角形为一般三角形,其面积为:%0.2f' % Area)
else :
print('当a = %0.2f, b = %0.2f, c = %0.2f为三边长时,不能构成三角形 !' % (a, b, c))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询