用Python多分支编写输人三角形的三边长,判断是否能构成三角形。如果能构成三角形,打印籀出是正=角形、等腰直角三角形、等腰三角形、直角三角形,还是不规则三角形。最后计算周长和面积并输出。使用if和exit判断输入错误并提示
时间: 2023-05-31 12:02:15 浏览: 99
输入三角形的三边长:
```python
a = float(input("请输入第一条边长:"))
b = float(input("请输入第二条边长:"))
c = float(input("请输入第三条边长:"))
```
判断是否能构成三角形:
```python
if a + b > c and a + c > b and b + c > a:
# 可以构成三角形
# 判断三角形类型
if a == b == c:
print("等边三角形")
elif a == b or a == c or b == c:
if a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
print("等腰直角三角形")
else:
print("等腰三角形")
elif a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
print("直角三角形")
else:
print("不规则三角形")
# 计算周长和面积
perimeter = a + b + c
p = perimeter / 2
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print("周长为:", perimeter)
print("面积为:", area)
else:
# 不能构成三角形
print("不能构成三角形")
exit()
```
完整代码:
```python
a = float(input("请输入第一条边长:"))
b = float(input("请输入第二条边长:"))
c = float(input("请输入第三条边长:"))
if a + b > c and a + c > b and b + c > a:
# 可以构成三角形
# 判断三角形类型
if a == b == c:
print("等边三角形")
elif a == b or a == c or b == c:
if a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
print("等腰直角三角形")
else:
print("等腰三角形")
elif a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
print("直角三角形")
else:
print("不规则三角形")
# 计算周长和面积
perimeter = a + b + c
p = perimeter / 2
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print("周长为:", perimeter)
print("面积为:", area)
else:
# 不能构成三角形
print("不能构成三角形")
exit()
```
注意:在输入三边长的时候,需要使用`float()`将输入的字符串转换为浮点数,否则无法进行数值比较和计算。另外,使用`exit()`可以退出程序。
阅读全文