2.请分别编写两个类:Circle和Rectangle,他们均继承自抽象类Dimension。请在两个子类中重写其面积方法,分别计算圆和矩形的面积。Pi=3.14 输入:一行,一个或两个数 输出:一行,若输入一个数,则输出圆的面积;若输入两个数,则输出矩形的面积。
时间: 2023-12-14 18:39:05 浏览: 142
Java:使用抽象类定义一个“形状类”,能够计算周长和面积。
```python
from abc import ABC, abstractmethod
class Dimension(ABC):
@abstractmethod
def area(self):
pass
class Circle(Dimension):
def __init__(self, r):
self.r = r
def area(self):
return 3.14 * self.r * self.r
class Rectangle(Dimension):
def __init__(self, l, w):
self.l = l
self.w = w
def area(self):
return self.l * self.w
input_str = input()
input_list = input_str.split()
if len(input_list) == 1:
r = float(input_list[0])
circle = Circle(r)
print(circle.area())
elif len(input_list) == 2:
l = float(input_list[0])
w = float(input_list[1])
rectangle = Rectangle(l, w)
print(rectangle.area())
else:
print("输入格式错误")
```
运行示例:
输入:
```
3
```
输出:
```
28.26
```
输入:
```
4 5
```
输出:
```
20.0
```
阅读全文