Створи програму, що малює по-слідовність із n вкладених один в один квадратів (nвводить ко-ристувач). Відстань між сторо-нами квадратів дорівнює 10. Припустимо, що лівий верхній кут найменшого з них має коор-динати (0; 0). Тоді лівий верхній кут наступного квадрата має ко-ординати (–10; 10), наступно-го— (–20; 20) тощо.Припустимо, що i— це номер квадрата, починаючи від наймен-шого (1— найменший, 5— найбіль-ший). Запиши в зошит формули, що визначають:1)довжину сторони i-го квадрата;2)координати лівого верхнього кута i-го квадрата.У цих формулах змінну i треба множити на якісь фіксовані величини та, можливо, додавати чи віднімати величини.Склади програму за шаблоном. for i in range(1,___): turtle.up()turtle.goto(____,____) turtle.down() for j in range(___): turtle.forward(_____) turtle.right(___)
Answers & Comments
import turtle
n = int(input("Введіть кількість квадратів: "))
side_length = 50 # довжина сторони першого квадрата
distance = 10 # відстань між сторонами квадратів
for i in range(1, n+1):
# обчислюємо координати лівого верхнього кута i-го квадрата
x = -distance * (i-1)
y = distance * (i-1)
# переміщуємо черепашку в точку (x, y) і починаємо малювати квадрат
turtle.up()
turtle.goto(x, y)
turtle.down()
# малюємо сторони квадрата
for j in range(4):
turtle.forward(side_length)
turtle.right(90)
# обчислюємо довжину сторони наступного квадрата
side_length *= 1.5
# забезпечуємо, щоб вікно з графікою не закривалось після завершення програми
turtle.done()
Для обчислення координат лівого верхнього кута кожного наступного квадрата використовуються формули:
x = -distance * (i-1)
y = distance * (i-1)
А для обчислення довжини сторони наступного квадрата використовується формула:
side_length *= 1.5