Я хочу создать класс пирамиды рекурсивно, используя cs1graphics. Этот класс позволит пользователю указать количество уровней и общую ширину пирамиды.
cs1graphics module: https://github.com/otfried/cs101/blob/master/modules/cs1graphics.py
Я могу сделать это, используя для l oop но я не знаю, как использовать рекурсию для достижения того же.
Вот код, который я использую:
from cs1graphics import *
numLevels = 8
unitSize = 12
screenSize = unitSize * (numLevels + 1)
paper = Canvas(screenSize, screenSize)
centerX = screenSize / 2.0
for level in range(numLevels):
centerY = (level + 1) * unitSize
leftmostX = centerX - unitSize * level / 2.0
for blockCount in range(level + 1):
block = Square(unitSize)
block.move(leftmostX + unitSize * blockCount, centerY)
block.setFillColor('gray')
paper.add(block)
Это моя попытка:
class Pyramid(Drawable):
def __init__(self, numLevels, unitSize):
screenSize = self.unitSize * (self.numLevels + 1)
paper = Canvas(screenSize, screenSize)
centerX = screenSize / 2.0
Не знаю, как пройти остаток урока.