--- title: Python 4.1 tag: python --- ```python= import turtle SIDE = 20 DISTANCE = 3 def square(t, side, color='pink'): t.begin_fill() t.fillcolor(color) for i in range(4): t.forward(side) t.left(90) t.end_fill() def move(t, step): t.penup() t.left(90) t.forward(step) t.right(90) t.penup() def move_left(t): t.penup() t.left(180) t.forward(DISTANCE) t.right(90) t.penup() def calculate_color_change(index, size, call_index): first_bar_size = size + call_index total_size = sum(x for x in range(1, first_bar_size + 1)) drawn_bars_size = sum(x for x in range((first_bar_size - call_index + 1), first_bar_size + 1)) return ((index + 1) + drawn_bars_size)/total_size def draw_spiral(t, size, call_index=0): for i in range(size): square(t, SIDE, [0.9, 0.45, calculate_color_change(i, size, call_index)]) if i != size - 1: move(t, SIDE + DISTANCE) else: move_left(t) if size > 1: draw_spiral(t, size - 1, call_index + 1) def run(): t = turtle.Turtle() turtle.bgcolor(0.12, 0.1, 0.15) t.speed('fastest') t.penup() draw_spiral(t, 16) turtle.done() run() ```