3. Змінні
У мові Python – динамічна типізація, а це значить,
що тип даних визначається вже під час виконання
програми і прописувати її для кожної змінної не по-
трібно.
Давайте розглянемо такий приклад і доповнимо
його:
a = 8
b = 0.8
c = "string"
d = True
print(type(a), type(b), type(c), type(d))
Тут ми створили чотири різні змінні і визначили їхні
типи. Для визначення типу в мові Python є спеціальна
функція – type(). В результаті виконання коду отрима-
ли такий рядок:
<class 'int'> <class 'float'> <class 'str'>
<class 'bool'>
Це чотири основні типи даних, з якими ви вже зна-
йомі. Відповідно, int (integer) використовується для
позначення цілих чисел (-765, 0, 20), float – для чисел з
плаваючою комою (-15.0, 0.1, 225.5), str (string) – ря-
док ("Tom", "Hello World"), а bool використовується для
позначення логічного типу даних, тобто такого, який
3
Черепашкова графіка в Python. Цикл for
4. може відповісти на питання однозначно – так/ні (True/
False) (рис. 1).
В тому чи іншому вигляді змінні знадобляться нам
практично в кожній програмі, особливо це стосується
циклів і умов.
Рисунок 1
4
Урок № 3
5. Цикли в програмуванні
Люди постійно повторюють якісь дії, і програмі-
сти – не виняток. Вони не вельми люблять робити зайву
роботу, тому для повторення дій використовують ци-
кли.
Цикл – це повторення певного набору команд. На-
приклад, коли людина відтискається від підлоги 10 ра-
зів, вона 10 разів виконує одну і ту ж дію.
Цикли бувати декількох видів:
■■ з відомою кількістю повторень (з параметром);
■■ з невідомою кількістю повторень (з умовою).
Якщо повернутися до прикладу з відтисканнями, то
фраза «відтиснися 40 разів» означає, що буде виконано
дію «відтиснутися» в циклі, який повинен повторитися
40 разів. Якщо сказати: «Відтиснися, поки не змучиш-
ся», – це буде цикл з умовою, коли ми з самого початку
не знаємо, скільки разів він буде повторюватися.
Цикл for
Цикл for – це цикл з параметром (з заданою кіль-
кістю повторень). Даний цикл слід використовувати в
таких випадках:
■■ повторення якихось дій задану кількість разів;
■■ имання числа, яке буде змінюватися з кожним пов-
тором.
5
Черепашкова графіка в Python. Цикл for
6. Синтаксис циклу for виглядає наступним чином:
for i in генератор_последовательності:
інструкції
Давайте на прикладі завдання з черепахою уявімо,
що нам потрібно намалювати не одну фігуру, а три (див.
рис. 2 на сторінці 8):
import turtle
window = turtle.Screen()
turtle.reset()
turtle.shape("turtle")
turtle.bgcolor("dark slate gray")
turtle.color("alice blue")
turtle.speed(2)
turtle.pensize(3)
turtle.left(20)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(50)
6
Урок № 3
8. Як бачите, нам доводиться писати великий код. А
що, якщо потрібно близько сотні таких квадратів?
Чи не найкраще рішення – кожен раз прописувати
все спочатку, правда ж? Більш того, такий метод взагалі
не підходить для програмістів. Тому на допомогу прихо-
дить цикл for.
Подивіться, наскільки компактніший і зрозумілі-
ший такий код:
import turtle
window = turtle.Screen()
turtle.reset()
turtle.shape("turtle")
turtle.bgcolor("dark slate gray")
turtle.color("alice blue")
turtle.speed(4)
turtle.pensize(3)
Рисунок 2
8
Урок № 3
9. 9
Черепашкова графіка в Python. Цикл for
for i in 1,2,3,4,5,6:
turtle.left(30)
turtle.forward(40)
turtle.left(90)
turtle.forward(40)
turtle.left(90)
turtle.forward(40)
turtle.left(90)
turtle.forward(40)
turtle.left(90)
window.exitonclick()
У нашому коді ми використовували:
for i in 1,2,3,4,5,6
Цей цикл повторить малювання квадрата 6 разів.
Однак, якщо потрібно повторити дію, наприклад,
100 або 200 разів, то такий вид запису буде незручний.
Тільки уявіть, скільки часу ви на це затратите! Тому кра-
ще використовувати функцію range.
Функція range
Цикл for працює за наступним принципом: він
перебирає всі значення по черзі і виконує код після
двокрапки.
Функція range повертає ряд чисел за заданим об-
меженням. Число в дужках визначає кількість повто-
рень, наприклад наша черепашка буде малювати десять
10. 10
Урок № 3
фігур – range(10). Значення в дужках означає, що цикл
повториться 10 разів. Функція range може приймати не
один параметр, а кілька, наприклад range(0, 10) або
range(10, 20). У другому випадку параметр буде при-
ймати значення від 10 до 19 і повториться 10 разів, як і у
всіх розглянутих прикладах.
Примітка: можна також задавати число кроку.
Так, range(0, 12, 2) дасть такий результат:
0,2,4,6,8,10, причому, крок може бути від’єм-
ним – range(10, 0, -1):
for i in range(10, 0, -1):
print(i)
Напишемо код, в якому використовуємо цикл for і
функцію range(). Навчимо черепашку малювати кра-
сиву фігуру за допомогою звичайних квадратів (рис. 3):
import turtle
window = turtle.Screen()
turtle.reset()
turtle.shape("turtle")
turtle.bgcolor("dark slate gray")
turtle.color("alice blue")
turtle.speed(4)
turtle.pensize(3)
11. Рисунок 3
11
Черепашкова графіка в Python. Цикл for
for i in range(12):
turtle.left(30)
turtle.forward(40)
turtle.left(90)
turtle.forward(40)
turtle.left(90)
turtle.forward(40)
turtle.left(90)
turtle.forward(40)
turtle.left(90)
window.exitonclick()
12. 12
Урок № 3
Малюємо різні фігури
Дуже добре, якщо ви зрозуміли матеріал і можете
самостійно внести зміни в код.
А тепер давайте скористаємося циклом і створимо
за допомогою черепашки фігуру, що складається з кіл
(див. рис. 4 на сторінці 14):
import turtle
window = turtle.Screen()
turtle.reset()
turtle.shape("turtle")
turtle.bgcolor("black")
turtle.pencolor("purple")
turtle.speed(10)
turtle.pensize(2)
for i in range(30):
turtle.circle(5 * i)
turtle.circle(-5 * i)
turtle.left(i)
turtle.exitonclick()
13. 13
Черепашкова графіка в Python. Цикл for
Або ж спіралевидну фігуру (див. рис. 5 на сторінці
14):
import turtle
window = turtle.Screen()
turtle.reset()
turtle.shape("turtle")
turtle.bgcolor("black")
turtle.pencolor("yellow")
turtle.speed(10)
turtle.pensize(2)
for i in range(360):
turtle.pensize(i/100 + 1)
turtle.forward(i)
turtle.left(59)
turtle.exitonclick()
15. 15
Черепашкова графіка в Python. Цикл for
Отримані на заняттях знання допоможуть вам са-
мостійно створювати різні фігури і задавати усі можли-
ві параметри.