请分别编写两个类:Circle和Rectangle,他们均继承自抽象类Dimension。请在两个子类中重写其面积方法,分别计算圆和矩形的面积。Pi=3.14 输入:一行,一个或两个数 输出:一行,若输入一个数,则输出圆的面积;若输入两个数,则输出矩形的面积。
时间: 2024-02-12 18:06:54 浏览: 31
好的,以下是代码实现:
```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 ** 2
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())
```
运行程序后,输入一个数代表圆的半径,输入两个数代表矩形的长和宽,即可得到对应图形的面积。
阅读全文