Funkcja wywołuje samą siebie: trójkąt Sierpińskiego
Funkcje z parametrami i bez parametrów - Informatyka - technikum klasa 1 (Python)
Funkcja może wywołać **samą siebie**. To **rekurencja**: duży problem rozwiązujesz tak samo jak mniejszy, aż dojdziesz do przypadku tak prostego, że robisz go od razu (to **warunek zakończenia**, bez niego wywołania nie skończyłyby się nigdy). **Trójkąt Sierpińskiego** stopnia 0 to zwykły trójkąt. Stopień `n` to trzy trójkąty stopnia `n - 1` o połowę mniejsze: w lewym dolnym rogu, w prawym dolnym i na górze. Zmień `level` na 0, 1, 2, 3 i 4 i porównaj rysunki. Ile trójkątów rysuje stopień 4?
arrow = Sprite()
arrow.image = 16
arrow.size = 10
arrow.pen.on = True
world.add(arrow)
def jump(x, y):
arrow.pen.on = False
arrow.position = (x, y)
arrow.pen.on = True
def triangle(x, y, side):
jump(x, y)
arrow.angle = 90
for _ in range(3):
arrow.move(side)
arrow.turn(-120)
def sierpinski(level, x, y, side):
if level == 0:
triangle(x, y, side)
return
half = side / 2
height = half * 3 ** 0.5 / 2
sierpinski(level - 1, x, y, half)
sierpinski(level - 1, x + half, y, half)
sierpinski(level - 1, x + half / 2, y + height, half)
level = 3
sierpinski(level, -90, -78, 180)Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - technikum klasa 1·Zaloguj się, aby zapisać postęp na koncie.