4. 设计一个Circle(圆)类,该类中包括属性radius(半径),还包括__init__()、get_perimeter()(求周长)和get_area()(求面积)共三个方法。设计完成后,用户输入半径,若半径为负值则抛出异常,创建Circle类的对象求圆的周长和面积。
时间: 2023-11-21 11:23:10 浏览: 112
用面向对象的方法,设计一个圆的类,包括计算圆的直径、圆的周长和圆的面积的方法。
好的,以下是 Python 代码实现:
```python
import math
class Circle:
def __init__(self, radius):
if radius < 0:
raise ValueError("半径不能为负数!")
self.radius = radius
def get_perimeter(self):
return 2 * math.pi * self.radius
def get_area(self):
return math.pi * self.radius ** 2
try:
radius = float(input("请输入圆的半径:"))
circle = Circle(radius)
perimeter = circle.get_perimeter()
area = circle.get_area()
print("圆的周长为:", perimeter)
print("圆的面积为:", area)
except ValueError as e:
print(e)
```
代码解释:
1. 首先,我们定义了一个 `Circle` 类,包括属性 `radius`,以及 `__init__()`、`get_perimeter()` 和 `get_area()` 三个方法。
2. 在 `__init__()` 方法中,我们检查传入的半径是否为负数,如果是,就抛出一个 `ValueError` 异常。
3. 在 `get_perimeter()` 方法中,我们使用 `math.pi` 和圆的半径计算圆的周长。
4. 在 `get_area()` 方法中,我们使用 `math.pi` 和圆的半径计算圆的面积。
5. 在程序中,我们让用户输入圆的半径,并创建 `Circle` 类的对象。
6. 然后,我们调用对象的 `get_perimeter()` 和 `get_area()` 方法,求出圆的周长和面积。
7. 最后,我们输出圆的周长和面积。
如果用户输入的半径为负数,我们就会抛出一个 `ValueError` 异常,并输出错误信息。这样可以避免计算出错误的结果。
希望能够解决您的问题!
阅读全文