Trójkąt Sierpińskiego

Fraktale rekurencyjnie - Algorytmy: zakres rozszerzony (Python)

Trójkąt Sierpińskiego stopnia n składa się z trzech trójkątów stopnia n - 1: jednego na górze i dwóch obok siebie na dole. Funkcja zwraca listę wierszy. Górną kopię przesuwamy odstępami na środek, dolne sklejamy spacją.

def sierpinski(n):
    if n == 0:
        return ["*"]
    smaller = sierpinski(n - 1)
    pad = " " * (2 ** (n - 1))
    top = [pad + line + pad for line in smaller]
    bottom = [line + " " + line for line in smaller]
    return top + bottom


for line in sierpinski(3):
    print(line.rstrip())

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Algorytmy: zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.