L=eval(input()) H=eval(input()) area=L*H/2 print("三角形的面积是{:.1f}".format(area))将这段代码封装在函数里
时间: 2024-03-14 21:43:09 浏览: 78
好的,封装后的函数如下:
```python
def calculate_triangle_area():
L = eval(input("请输入三角形底边长:"))
H = eval(input("请输入三角形高度:"))
area = L * H / 2
print("三角形的面积是{:.1f}".format(area))
```
调用该函数即可计算三角形的面积,示例:
```python
calculate_triangle_area()
```
输出:
```
请输入三角形底边长:6
请输入三角形高度:4
三角形的面积是12.0
```
相关问题
import math a=eval(input()) b=eval(input()) c=eval(input()) s = (a + b + c)/2 t = s*(s - a)*(s - b)*(s - c) area = math.sqrt(t) perimeter = a+b+c print("area={:.2f};perimeter={:.2f}".format(area, perimeter)),这段代码有什么问题
这段代码本身并没有语法错误,但是存在一个逻辑问题。如果输入的三条边无法构成一个三角形,那么计算面积和周长就没有意义。在这种情况下,程序应该输出一个错误提示信息,而不是计算并输出错误的结果。
您可以通过添加以下代码来检查输入的三边是否能够构成一个三角形:
```
if (a + b <= c) or (a + c <= b) or (b + c <= a):
print("输入的三条边无法构成一个三角形!")
else:
s = (a + b + c)/2
t = s*(s - a)*(s - b)*(s - c)
area = math.sqrt(t)
perimeter = a+b+c
print("area={:.2f};perimeter={:.2f}".format(area, perimeter))
```
这样,程序就会在输入无效的三边时输出错误提示信息。如果输入的三边能够构成一个三角形,那么程序会正常计算并输出面积和周长。
from math import* a=eval(input()) b=eval(input()) c=eval(input()) d=0.5*a*b*sqrt(1-((a**2+b**2-c**2)/(2*a*b))**2) if a+b>c and a+c>b and b+c>a: print('YES') print('{:.2f}'.format(d)) else: print('NO') import math优化这个代码
以下是代码的优化版本:
```python
import math
a = float(input())
b = float(input())
c = float(input())
if a + b > c and a + c > b and b + c > a:
s = (a + b + c) / 2
area = math.sqrt(s * (s - a) * (s - b) * (s - c))
print('YES')
print('{:.2f}'.format(area))
else:
print('NO')
```
主要的优化点有:
1. 引入 math 模块,避免重复导入 sqrt 函数;
2. 将输入值转换为浮点数类型,避免出现类型错误;
3. 计算三角形面积时使用海伦公式,避免使用套公式麻烦,同时也避免重复计算。
阅读全文