生成一个Shape数组,长度为20,其中奇数位置放圆,偶数位置放矩形
时间: 2024-03-20 18:42:23 浏览: 57
好的,以下是生成Shape数组的Python代码:
```python
from random import randint
from math import pi
class Shape:
def area(self):
pass
class Circle(Shape):
def __init__(self, radius):
self.radius = radius
def area(self):
return pi * self.radius ** 2
class Rectangle(Shape):
def __init__(self, width, height):
self.width = width
self.height = height
def area(self):
return self.width * self.height
shapes = []
for i in range(20):
if i % 2 == 0:
width = randint(1, 10)
height = randint(1, 10)
shapes.append(Rectangle(width, height))
else:
radius = randint(1, 5)
shapes.append(Circle(radius))
```
这里我们定义了 Shape 类作为基类,Circle 类和 Rectangle 类继承自 Shape 类,并且实现了各自的 area 方法计算面积。程序通过循环生成 20 个 Shape 对象,其中奇数位置放圆,偶数位置放矩形,每个圆和矩形的大小随机生成。最终得到的 shapes 数组就是所求的数组。
阅读全文