编写一个三角形类,要求能够计算三角形的面积(海伦公式)和周长。从键盘输入一个三角形的三条边的长度,并用这三 条边创建一个三角形对象,输出此三角形对象的面积和周长。
时间: 2024-02-05 19:12:59 浏览: 84
以下是一个简单的三角形类的实现,包括计算面积和周长的方法:
```python
import math
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def perimeter(self):
return self.a + self.b + self.c
def area(self):
s = self.perimeter() / 2
return math.sqrt(s * (s - self.a) * (s - self.b) * (s - self.c))
# 从键盘输入三角形的三条边的长度
a = float(input("请输入三角形第一条边的长度:"))
b = float(input("请输入三角形第二条边的长度:"))
c = float(input("请输入三角形第三条边的长度:"))
# 创建三角形对象并输出面积和周长
triangle = Triangle(a, b, c)
print("三角形的周长为:", triangle.perimeter())
print("三角形的面积为:", triangle.area())
```
当我们运行以上代码时,即可从键盘输入三角形的三条边的长度,并输出此三角形对象的面积和周长。
相关问题
编写一个三角形类,要求能够计算三角形的面积和周长。从键盘输入一个三角形的3条边的长度,并用这3条边创建一个三角形对象,输出此三角形对象的面积和周长
在Python中,我们可以编写一个`Triangle`类来实现这个功能。首先,我们需要确认输入的三条边是否能构成一个有效的三角形,然后使用海伦公式计算面积,同时直接相加边长得到周长。下面是具体的代码示例:
```python
import math
class Triangle:
def __init__(self, side1, side2, side3):
self.side1 = side1
self.side2 = side2
self.side3 = side3
if not self.is_valid_triangle():
raise ValueError("Invalid triangle sides")
def is_valid_triangle(self):
return (self.side1 + self.side2 > self.side3) and \
(self.side2 + self.side3 > self.side1) and \
(self.side1 + self.side3 > self.side2)
def perimeter(self):
return self.side1 + self.side2 + self.side3
def area(self):
semi_perimeter = self.perimeter() / 2
return math.sqrt(semi_perimeter * (semi_perimeter - self.side1) *
(semi_perimeter - self.side2) * (semi_perimeter - self.side3))
# 用户输入三角形的三边
try:
side1 = float(input("请输入第一条边的长度: "))
side2 = float(input("请输入第二条边的长度: "))
side3 = float(input("请输入第三条边的长度: "))
triangle = Triangle(side1, side2, side3)
print(f"三角形的周长: {triangle.perimeter():.2f}")
print(f"三角形的面积: {triangle.area():.2f}")
except ValueError as e:
print(e)
```
在这个例子中,用户需要按照提示输入三条边的长度,程序会检查它们能否构成一个三角形。如果可以,将计算并输出面积和周长;如果不能,则抛出异常。
用Java实现编程写一个三角形类,要求能够计三角形的面积(海伦公式)和周长从键盘输入三角形的三边,并用这三边创建一个三角形对象,输出此三角形对象的面积和周长
以下是用Java实现的三角形类:
```java
import java.util.Scanner;
public class Triangle {
private double a;
private double b;
private double c;
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
public double getArea() {
double p = (a + b + c) / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
public double getPerimeter() {
return a + b + c;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入三角形的三边:");
double a = scanner.nextDouble();
double b = scanner.nextDouble();
double c = scanner.nextDouble();
Triangle triangle = new Triangle(a, b, c);
System.out.println("该三角形的周长为:" + triangle.getPerimeter());
System.out.println("该三角形的面积为:" + triangle.getArea());
}
}
```
在main方法中,我们通过Scanner类从键盘输入三角形的三条边,创建了一个Triangle对象,并调用了它的getArea()和getPerimeter()方法来计算三角形的面积和周长,最后输出结果。
阅读全文