Джейсон Р. Бріґґс: Python для дітей. Веселий вступ до програмування
У виданні представлені прості приклади й дотепні завдання, за допомогою яких можна пізнати тонкощі цієї мови.
© Видавництво Старого Лева
В Україні виходить книжка, яка легко та невимушено допоможе вивчити основи однієї з сучасних мов програмування – Python. У "Видавництві Старого Лева" зазначають, що самовчитель підійде для всіх, хто зацікавлений у програмуванні - як дітей, так і дорослих, які ніколи не програмували.
Python — це мова програмування, якої легко навчитися. Порівняно з іншими мовами, її код досить легко читати, а також вона має інтерактивну оболонку, в якій можна ввести програми й подивитися, як вони працюють.
У видавництві анонсують наступну книжку про веселе програмування – "Javascript для дітей" Ніка Моргана. Тим часом з уривком книжки про Python можна ознайомитися на сайті:
***
Розділ 4. Малюємо "черепахою"
"Черепаха" в мові Python трохи схожа на справжню черепаху. Ми знаємо, що черепаха — це рептилія, яка рухається дуже повільно й носить свій дім у себе на спині. У світі мови Python "черепаха" — це маленька чорна стрілочка, яка повільно рухається екраном.
"Черепаха" з мови Python залишає за собою слід на екрані, тому насправді вона більше схожа на равлика чи слизняка, ніж на черепаху.
З "черепахою" легко навчитися деяких основ комп'ютерної графіки, тож у цьому розділі ми скористаємося "черепахою" мови Python, щоб намалювати кілька простих фігур та ліній.
КОРИСТУВАТИСЯ МОДУЛЕМ TURTLE
Модуль у Python — це спосіб надання корисного коду, щоб ним скористалася інша програма (крім інших речей, модуль може містити функції, якими ми могли б скористатися). Ми дізнаємося більше про модулі в Розділі 7. У мові Python є особливий модуль під назвою turtle (черепаха), яким ми можемо скористатися, щоб дізнатися, як комп'ютери створюють малюнки на екрані.
Модуль turtle — це один зі способів програмування векторної графіки, який полягає, власне кажучи, у малюванні простими лініями, крапками та кривими.
© Видавництво Старого Лева
Погляньмо, як працює ця "черепаха". Спочатку запусти оболонку Python, знайшовши IDLE (Python 3.6) через стартове меню (або, якщо користуєшся Ubuntu, клацни на іконці "Пошук …" на бічній панелі, введи IDLE3 і запусти знайдену програму). Далі скажи Python, що ти плануєш скористатись модулем turtle, отак:
>>> import turtle
Команда імпортувати (import) модуль вказує Python, що ти хочеш почати ним користуватися.
Примітка.Якщо ти користуєшся версією Ubuntu, старішою за 14.04, і після цієї дії отримуєш повідомлення про помилку, можливо, тобі доведеться встановити tkinter. Для цього відкрий Центр програмного забезпечення Ubuntu (Ubuntu Software Center) й набери python-tk у рядку пошуку. У вікні має з'явитися Tkinter — Writing Tk Applications with Python. Клікни Встановити (Install), щоб встановити цей пакет.
СТВОРЕННЯ ПОЛОТНА
Тож тепер, коли ми імпортували модуль turtle, нам треба створити полотно — порожній простір, де ми будемо малювати, як на полотні художника. Для цього ми викликаємо функцію Pen (перо) з модуля turtle, що автоматично створює полотно (ми дізнаємося про те, що таке функція, пізніше). Введи в оболонку Python таке:
>>> t = turtle.Pen()
Перед тобою має з'явитися чисте вікно (полотно для малювання) зі стрілочкою в центрі, щось отаке:
© Видавництво Старого Лева
Оця стрілочка посередині екрана і є "черепаха", і твоя правда — вона не дуже на неї схожа.
Якщо вікно з "черепахою" з'явилося позаду вікна з оболонкою Python, може виявитися, що воно не працює як слід. Коли ти наводиш курсор мишки на віконечко з "черепахою", він перетворюється на пісочний годинник, отакий:
© Видавництво Старого Лева
Це могло статися, якщо IDLE було неправильно встановлено. Спробуй вийти з оболонки і знову зайти в неї, знайшовши IDLE у стартовому меню. Якщо це не подіяло, спробуй замість оболонки IDLE скористатися консоллю Python таким чином:
• На Windows, у стартовому меню вибери Python 3.6 (або новішу версію) і клацни Python 3.6 (64-bit).
• На Mac OS X, клацни іконку Spotlight у верхньому правому куті екрана й введи слово Terminal у поле вводу. Коли термінал відкриється, введи слово python3.
• На Ubuntu, відкрий термінал, знайшовши його через іконку "Пошук…" на бічній панелі, і введи слово python3.
ЯК ПЕРЕСУВАТИ "ЧЕРЕПАХУ"
Інструкції "черепасі" ми надаємо, користуючись функціями, доступними через щойно створену змінну t, так само, як ми скористалися функцією Pen у модулі turtle.
© Видавництво Старого Лева
Наприклад, інструкція forward (вперед) каже "черепасі" рухатися вперед. Щоб сказати "черепасі" просунутися на 50 пікселів, введи таку команду:
>>> t.forward(50)
Ти маєш побачити щось отаке:
© Видавництво Старого Лева
"Черепаха" пересунулася вперед на 50 пікселів. Піксель — це одна точка на екрані — найменший його елемент. Все, що ти бачиш на екрані свого комп'ютера, складається з пікселів — крихітних квадратних точок. Якби можна було збільшити полотно й лінію, намальовану "черепахою", то було б видно, що стрілочка, що є шляхом "черепахи", — то просто кілька пікселів. Це проста комп'ютерна графіка.
точки!
© Видавництво Старого Лева
Ось бачиш? Точки!
Тепер ми скажемо черепасі повернутися на 90 градусів за допомогою такої команди[2]:
>>> t.left(90)
Якщо ти ще не знаєш про градуси, ось як ми їх розглядаємо.
Уяви, що ти стоїш у центрі кола.
• Напрямок просто перед тобою — це 0 градусів.
• Якщо ти простягнеш убік ліву руку, це буде 90 градусів ліворуч.
• Якщо ти простягнеш убік праву руку, це буде 90 градусів праворуч.
• Якщо продовжити розглядати коло у напрямку праворуч від того місця, куди вказує твоя права рука, 180 градусів — це позаду тебе, 270 градусів — те місце, на яке вказує твоя ліва рука, а 360 градусів — там, звідки ми почали.
Коли "черепаха" мови Python повертає ліворуч, вона обертається, щоб рухатися в іншому напрямку (так само, як і ти повертаєш своє тіло, щоб стати лицем туди, куди твоя рука вказує на 90 градусів ліворуч).
Команда t.left(90) каже стрілочці повернути вгору (позаяк вона почала рух, вказуючи праворуч):
© Видавництво Старого Лева
Примітка. Коли ти даєш команду t.left(90), це те ж саме, що дати команду t.right(270). Це також стосується команди t.right(90), яка означає те ж саме, що й команда t.left(270). Просто уяви собі те коло й рухайся за градусами.
Тепер ми намалюємо квадрат. Додай до вже введених команд
такий код:
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
Твоя "черепаха" мала б намалювати квадрат і вказувати в тому самому напрямку, звідки почала:
© Видавництво Старого Лева
Щоб витерти полотно, набери reset (скинути). Ця команда оновлює полотно й ставить "черепаху" в її початкову позицію.
>>> t.reset()
Можна також застосувати команду clear (очистити), яка просто витирає екран і залишає "черепаху" там, де вона була:
>>> t.clear()
Також ми можемо вказати нашій "черепасі" повернутися праворуч (right) або рухатись назад (backward). А ще можна застосувати команду up (підняти), щоб підняти перо над сторінкою
(іншими словами, сказати "черепасі" припинити малювати), і down (опустити), щоб знову почати. Ці функції викликаються так само, як й інші, якими ми вже користувалися.
Спробуймо виконати ще один малюнок, застосовуючи деякі з цих команд. Цього разу ми намалюємо "черепахою" дві лінії.
Введи такий код:
>>> t.reset()
>>> t.backward(100)
>>> t.up()
>>> t.right(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.down()
>>> t.forward(100)
Спочатку ми очищаємо полотно й пересуваємо "черепаху" на початкову позицію за допомогою команди t.reset(). Далі пересуваємо "черепаху" назад на 100 пікселів за допомогою команди t.backward(100), а тоді задаємо команду t.up(), щоб підняти перо й перестати малювати. Далі, за допомогою команди t.right(90), ми розвертаємо "черепаху" на 90 градусів, щоб вона вказувала вниз екрана, і командою t.forward(20) пересуваємо її на 20 пікселів уперед.
Нічого не малюється, бо в третьому рядку ми застосували команду up. Командою t.left(90) ми розвертаємо "черепаху" ліворуч на 90 градусів, щоб вона була спрямована у правий бік, а тоді командою down кажемо "черепасі" опустити перо і знову почати малювати. Врешті, ми малюємо лінію, паралельну першій, за допомогою команди t.forward(100). Дві паралельні лінії, які ми намалювали, мають такий вигляд (див. с. 58):
© Видавництво Старого Лева
ЧОГО ВИ НАВЧИЛИСЯ
У цьому розділі ви дізналися, як у Python користуватися модулем turtle. Ми намалювали кілька простих ліній, застосовуючи повороти праворуч (right) та ліворуч (left), а також команди вперед (forward) і назад (backward). Ми розглянули, як сказати "черепасі" припинити малювати за допомогою команди up і знову почати за допомогою команди down. Також ми дізналися, що "черепаха" повертається градусами.
ЗАВДАННЯ З ПРОГРАМУВАННЯ
Спробуй намалювати "черепахою" деякі з поданих нижче фігур.
Відповіді можна знайти на цій веб-сторінці
№1: ПРЯМОКУТНИК
Створи нове полотно за допомогою функції Pen з модуля turtle і намалюй прямокутник.
№2: ТРИКУТНИК
Створи ще одне полотно і цього разу намалюй трикутник. Поглядай на діаграму кола з градусами (на сторінці 55), щоб пригадати, у якому напрямку повертати "черепаху", застосовуючи градуси.
№3: КОРОБКА БЕЗ КУТІВ
Напиши програму для малювання показаних тут чотирьох ліній (розмір неважливий, тільки форма).
© Видавництво Старого Лева