Posts pythonTip 32 山峰的个数
Post
Cancel

pythonTip 32 山峰的个数

题目描述:

给以一个三角形的三边长a,b和c(边长是浮点数),请你判断三角形的形状。 若是锐角三角形,输出R, 若是直角三角形,输出Z, 若是钝角三角形,输出D, 若三边长不能构成三角形,输出W.

示例:

输入:a = 3.0 b = 5.0 c = 4.0

输出:Z

分析:

我们首先来看一下,如何判断三边可以构成一个三角形。这个我们已经在前面的题目已经讨论了。(任意两边之和大于第三边。)

然后我们再来研究一下:

如何构成一个 直角三角形? 直角边的平方和等于斜边。

根据构成直角三角形的理论,我就开始猜一猜 锐角三角形还有钝角三角形。

我感觉,如果两个直角边的平方和大于斜边的平方和。我就觉得一个这是一个锐角三角形。

那么如何两个直角边的平方和小于斜边的平方和,就就是一个钝角三角形。

代码:

1
2
3
4
5
6
7
8
9
10
11
a, b, c = sorted([a, b, c])

if (a + b <=  c) or (a + c <= b) or (b + c <= a):
    print("W")
elif a*a + b*b == c * c:
    print("Z")
elif a*a + b*b < c * c:
    print("D")
elif a*a + b*b > c * c:
    print("R")

This post is licensed under CC BY 4.0 by the author.
Trending Tags
Contents

pythonTip 31 山峰的个数

pythonTip 33 大幂次运算

Trending Tags