Python实例001:根据三边边长判断三角形形状并求取其面积

该Python实例展示了如何根据输入的三角形三边边长判断其形状,并计算面积。程序输出了多个不同形状的三角形结果,包括直角三角形、等腰三角形等。欢迎点赞或评论,指出不足或提供补充。

Python实例001:根据三边边长判断三角形形状并求取其面积

输入三边边长,根据三边边长判断三角形形状并求取其面积

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
'''
@File   :Triangular_area.py
@Author :Mr. H
@Date   :2019/1/29 21:07
@Desc   :输入三边边长,根据三边边长判断三角形形状并求取其面积
'''

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
好的,以下是平面三角形类的代码实现: ```python import math class Triangle: def __init__(self, a, b, c): if a + b <= c or a + c <= b or b + c <= a: raise ValueError("不能构成三角形") self.a = a self.b = b self.c = c def area(self): p = (self.a + self.b + self.c) / 2 return math.sqrt(p * (p - self.a) * (p - self.b) * (p - self.c)) def perimeter(self): return self.a + self.b + self.c def angle(self, x): if x not in ["A", "B", "C"]: raise ValueError("请输入 A、B 或 C 来计算对应角度") cos_angle = (self.b ** 2 + self.c ** 2 - self.a ** 2) / (2 * self.b * self.c) return math.degrees(math.acos(cos_angle)) if x == "A" else math.degrees(math.acos((self.a ** 2 + self.c ** 2 - self.b ** 2) / (2 * self.a * self.c))) if x == "B" else math.degrees(math.acos((self.a ** 2 + self.b ** 2 - self.c ** 2) / (2 * self.a * self.b))) def is_right(self): return self.a ** 2 + self.b ** 2 == self.c ** 2 or self.a ** 2 + self.c ** 2 == self.b ** 2 or self.b ** 2 + self.c ** 2 == self.a ** 2 def is_isosceles(self): return self.a == self.b or self.a == self.c or self.b == self.c def is_equilateral(self): return self.a == self.b == self.c def is_acute(self): return self.a ** 2 + self.b ** 2 > self.c ** 2 and self.a ** 2 + self.c ** 2 > self.b ** 2 and self.b ** 2 + self.c ** 2 > self.a ** 2 def is_obtuse(self): return self.a ** 2 + self.b ** 2 < self.c ** 2 or self.a ** 2 + self.c ** 2 < self.b ** 2 or self.b ** 2 + self.c ** 2 < self.a ** 2 ``` 代码中,我们使用了三个实例属性 `a`、`b` 和 `c` 分别表示三角形三条边长在初始化方法中进行了边长的合法性检查。同时,我们实现了面积、周长、夹角、直角三角形、等腰三角形、等边三角形、锐角三角形和钝角三角形等方法,可以方便地对三角形进行各种判断。 下面是几个实例的代码: ```python # 创建一个直角三角形实例 t1 = Triangle(3, 4, 5) print("面积:", t1.area()) # 预期输出:6.0 print("周长:", t1.perimeter()) # 预期输出:12 print("角A的度数:", t1.angle("A")) # 预期输出:36.86989764584402 print("是否为直角三角形:", t1.is_right()) # 预期输出:True print("是否为等腰三角形:", t1.is_isosceles()) # 预期输出:False print("是否为等边三角形:", t1.is_equilateral()) # 预期输出:False print("是否为锐角三角形:", t1.is_acute()) # 预期输出:True print("是否为钝角三角形:", t1.is_obtuse()) # 预期输出:False # 创建一个等边三角形实例 t2 = Triangle(2, 2, 2) print("面积:", t2.area()) # 预期输出:1.7320508075688772 print("周长:", t2.perimeter()) # 预期输出:6 print("角B的度数:", t2.angle("B")) # 预期输出:60.0 print("是否为直角三角形:", t2.is_right()) # 预期输出:False print("是否为等腰三角形:", t2.is_isosceles()) # 预期输出:True print("是否为等边三角形:", t2.is_equilateral()) # 预期输出:True print("是否为锐角三角形:", t2.is_acute()) # 预期输出:True print("是否为钝角三角形:", t2.is_obtuse()) # 预期输出:False # 创建一个不能构成三角形实例 try: t3 = Triangle(1, 2, 3) except ValueError as e: print(e) # 预期输出:不能构成三角形 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值