Робота в середовищі IDLE Python (тренувальні вправи)
Мета: сформувати навички роботи у середовищі розробки IDLE мовою програмування Python; ознайомитися з синтаксисом мови програмування, дослідити базові операції з текстом та числами, сформувати навички введення програмного коду з консолі.
Завдання 1. Загальна інформація.
Запустіть середовище IDLE Python.
Дізнайтеся, яка версія Python у Вас встановлена і для якої операційної системи, яка розрядність (32 чи 64 біти).
Запустіть текстовий процесор (напр. Microsoft Word). Скопіюйте інформацію з вікна середовища IDLE та вставте в документ. На якому принципі працює транслятор Python – інтерпретації чи компіляції?
Завдання 2. Арифметичні дії.
Розв’яжіть у середовищі інтерпретатора такі приклади (спочатку з мови математики перекладіть їх на мову Python, а потім виконайте у середовищі інтерпретатора:
а) 125:25 + 10; б) 765:9 + 48∙4-121; в) (1750+250):10 + 2∙(56-12∙3)2
Запишіть відповіді (текст виразу мовою Python та відповідь).
Завдання 3. «Довга арифметика»
Дізнайтеся в учителя, що називають «довгою арифметикою» і де вона має практичне застосування.
За допомогою «довгої арифметики» обчисліть: а) 13 у степені 13; б) 99 у степені 99;
Результат скопіюйте у документ текстового процесора.
Завдання 4. Оператор print.
1. Використовуючи оператор print, виведіть на екран текст:
а) print ('Hello World '); б) print ("Hello World ");
в) print ('' 'Hello World '''); г) print ("Hello ", "World ");
Поясніть отриманий результат.
2. Перевірте результат виконання наступних інструкцій:
а) print (Hello World); б) print ('Hello World”);
в) print ("Hello World'); г) print ('Hello World);
Поясніть, чому інтерпретатор видає помилки. Скопіюйте текст з описом помилки і вставте його в документ текстового процесора.
3. Перевірте, чи чутливий Python до регістру літер. Для цього наберіть команди Print та PRINT.
Зробіть висновки.
Завдання 5. Робота з рядками.
1. Наберіть наступний текст коду і виконайте його:
print ('Татові слова: Україна – це я! Мамині пісні, Україна – це ти!')
Зверніть увагу, що текст відображається в один рядок.
2. Модифікуйте текст:
print ('Татові слова:\nУкраїна – це я!\nМамині пісні,\n Україна – це ти!\n')
Як змінився текст? Дізнайтеся в учителя про використання escape-послідовностей (розрив рядка \n – один з них).
3. Модифікуйте текст, додавши перед рядком символ r:
print (r'Татові слова:\nУкраїна – це я!\nМамині пісні,\n Україна – це ти!\n')
Як змінився текст? Зробіть висновок про роль вказаного оператора (він виконує своєрідну роль «екрана», який анулює escape-послідовності).
4. Модифікуйте текст, скориставшись потрійними лапками:
print ('''
Татові слова:
Україна – це я!
Мамині пісні,
Україна – це ти!''')
Як змінився текст?
Спробуйте змінити виведення тексту на консоль таким чином, щоб текст вірша був записаний в один стовпчик.
Зробіть висновок про роль потрійних лапок і доцільність подібного запису.
5. Наберіть наступний текст:
print ('Моє ім'я - Батьківщина')
print ('Моє ім\'я - Батьківщина')
print ("Моє ім'я - Батьківщина ")
print ('''Моє ім'я - Батьківщина''')
Зробіть висновок про доцільність використання різного виду лапок.
6. Дублювання рядків.
Наберіть і виконайте такий рядок коду: print ('Україна'*10)
Зверніть увагу: Python «перемножує» рядки, дублюючи їх. Отже, якщо числа записати як текст, вони будуть не перемножені, а про дубльовані! Перевірте: print ('1991'*10)
Яким є результат? Приберіть лапки і знову виконайте команду. Помітили різницю? Спробуйте пояснити, чому результати виявилися різними.
Завершення роботи з IDLE.
Наберіть і виконайте з консолі команду exit() та дайте ствердну відповідь на запит. Зробіть загальний висновок до роботи.
Практична робота у середовищі Python. Робота з виразами й величинами
ПЕРШИЙ РІВЕНЬ. Теоретична частина.
1. Де правильно записано команду виведення тексту повідомлення?
а) PRINT ("Hello World!")
б) print ("Hello World!")
в) Print ("Hello World!")
Поясніть свої міркування.
2. Де правильно записано коментар у програмі?
а) @ Проводимо реєстрацію
б) $ Обчислюємо прибуток
в) # Виведення даних у файл
г) & Завершення роботи програми.
Поясніть, чому ви так вирішили.
3. Де правильно записано команду введення текста з консолі?
а) name=input ("Як вас звати?")
б) name=Input ("Як вас звати?")
в) name=INPUT ("Як вас звати?")
Що буде, якщо не використати змінну name? Що таке змінна?
4. Поясніть, яких помилок допустився початківець-програміст у кожному випадку:
а) text = Hello World
б) text = "Hello World
в) text = "Hello World'
5. Відшукайте команди, виконання яких не буде супроводжуватися повідомленням про помилку:
а) x = "10"+5
б) x = "Hello " + "World"
в) x = "Ваш прибуток: " + 10
г) x = "Ваш прибуток: " + "10"
6. Поясніть, що означають введені нижче команди:
а) x = int ("4311")
б) y = int (y)
в) z = float (z)
г) k = str (1284)
д) a = int(input("Введіть свій зріст"))
Чому в останньому прикладі слід бути уважним щодо парності дужок? Яку роль відіграють дужки?
ДРУГИЙ РІВЕНЬ. Практичні навички (математична логіка)
1. Запишіть ці математичні вирази мовою Python, обчисліть та запишіть результат:
а) (128∙5+1280:5):4-(256∙(4∙8-30))
б) 52+34 - 100
в) z = ((x+y)3 + (x-y)2):x, якщо x = 5, y = 2
2. Поясніть, чому ці записи дають різний результат:
а) x = "12" +"16" + "122"
print (x)
б) x = 12 + 16 + 122
print (x)
Перевірте це на практиці.
ТРЕТІЙ РІВЕНЬ. Дослідження
Запишіть і збережіть у файлі такий код:
x = input ("Введіть перший доданок")
y = input ("Введіть другий доданок")
result = x+y
print("Сума чисел: ", result)
Запустіть програму на виконання і, вводячи з консолі числа 123 (значення x) та 37 (значення y), отримайте результат. Чи збігається він з тим, що очікували ви? При потребі зверніться до вчителя.
Модифікуйте вашу програму. Перед командою result = x+y введіть дві такі команди:
x = int(x)
y = int (y)
Знову запустіть програму на виконання. Як тепер змінився результат?
Замініть int на float. Запустіть програму на виконання. Чи змінився тепер результат?
Замініть float на str. Знову запустіть програму на виконання. Як змінився тепер результат?
Зробіть висновок про важливість перетворень типів величин, котрі зберігаються у змінних.
Поміркуйте, чи не можна зробити код компактнішим. При потребі зверніться до вчителя. Чи став такий код більш зрозумілішим? Що для вас важливіше – компактність коду чи "запис як є"?
Майте на увазі! Саме так формується "почерк" програміста! З часом ви зрозумієте, що таке "поганий" та "гарний" стиль програмування.
Якщо дозволяє час, перевірте свою програму для інших математичних дій – віднімання, множення тощо. Додайте до неї коментарі.
Вправи на знання основ мови Python (математика й діалоги)
Початковий та середній рівень.
Завдання 1. Арифметичні дії.
Виконайте у середовищі інтерпретатора такі команди (просто введіть їх так, як показано тут, і дізнайтеся результат. Кожну команду перепишіть у зошит, а навпроти неї запишіть результат виконання.
125/4
125//4
125%4
45*4
11**2
1024-4
125+15
Завдання 2. Діалоги.
Створіть новий файл (команда меню: FileNew File).
Наберіть наступний текст:
print (“Hello World”)
name = input (“Як Вас звати?”)
print (“Отже, вас звати ”, name)
print (“А я Python. Будемо дружити?”)
Натисніть F5, збережіть файл та проведіть діалог з програмою.
Запишіть у зошит набрані команди та результат виконання.
Достатній рівень.
Завдання 1. Арифметичні дії.
Розв’яжіть у середовищі інтерпретатора такі приклади (спочатку з мови математики перекладіть їх на мову Python, а потім виконайте у середовищі інтерпретатора: а) 125:25 + 10; б) 765:9 + 48∙4-121;
в) (1750+250):10 + 2∙(56-12∙3) г) int(450:11 + 45).
Завдання 2. Діалоги.
Створіть новий файл (команда меню: FileNew File).
Використовуючи функцію input, реалізуйте лінійний алгоритм, за якого програма крок за кроком запитуватиме у спочатку прізвище, потім – ім’я, далі – по батькові. Результатом роботи програми має стати поєднання цих трьох рядків в один і виведення на екран діалогу на зразок цього:
Отже, вас звати Петров Петро Петрович. Вірно?
А я Python. Будемо дружити?
Текст діалогів підберіть самостійно. Змінні можете назвати на свій смак, найпростіше – x1, x2, x3.
P.S. Якщо хочете, щоб ваша програма коректно працювала в командному рядку Windows, а не лише в інтерпретаторі Python, замініть усі українські літери «і» на англійські «i», які мають такий самий вигляд, але їх присутність не створює помилки. Надалі збережений файл запускайте подвійним кліком вказівника миші.
Високий рівень
Створіть новий файл (команда меню: FileNew File).
Розробіть програму, яка аналізуватиме ваш ростово-масовий показник. Програма має спочатку попрости у вас ввести масу у кілограмах (змінна m), далі – зріст у сантиметрах (змінна h). Обидві змінні слід перетворити в дійсні числа функцією float. Наприклад, m = float (m).
Щоб перевести сантиметри у метри, зріст поділіть на 100: h=h/100
Щоб обчислити індекс маси тіла (змінна i), слід масу в кілограмах поділити на квадрат зросту: i=m/h**2
Для зручності читання отриманий індекс або перетворюємо у ціле число функцією int: i=int(i)
або округлюємо до сотих за допомогою функції round: i=round(i,2)
Цифра 2 означає округлення до сотих (два знаки після коми).
Після цього програма має виводити на екран резюме, наприклад:
Ваш індекс маси тіла становить 24.25
А після цього повідомлення друкується пояснення:
Ваша маса тіла вважається нормальною,
якщо індекс знаходиться в межах від 15.5 до 25.
Поки що ми не вчимо нашу програму робити висновки – це робить користувач!
P.S. Якщо ж ви все ж вважаєте, що достатньо «круті», щоб писати більш «інтелектуальні» програми, вставте наступний код:
message = "ожиріння"
if i < 29:
message = "маса тіла збільшена"
if i < 25:
message = "маса тіла нормальна"
if i < 18.5:
message = "маса тіла зменшена"
print("Висновок: ", message)
Більш детально сутність цього коду ми розберемо, коли вивчатимемо алгоритми з розгалуженням. А поки що записуйте код «як є».
P.S.S. Якщо хочете, щоб ваша програма коректно працювала в командному рядку Windows, а не лише в інтерпретаторі Python, замініть усі українські літери «і» на англійські «i», які мають такий самий вигляд, але їх присутність не створює помилки. Надалі збережений файл запускайте подвійним кліком вказівника миші.
Вправи по темі "Черепашача графіка"
Пригадайте головоломку: намалювати конверт, не відриваючи руки від поверхні і не проводячи більше одного разу лінію по одному й тому самому шляху. Спробуємо зробити це і ми за допомогою Python. Перш за все, накреслимо систему координат і позначимо на ній 5 опорних точок ABCDE. Далі вичислимо їхні координати. Припустимо, Черепашка рухатиметься на 100 кроків (пікселів) від центра екрану. Тоді наші точки матимуть наступні координати. Найпростіше для точок ABDE, які утворюють квадрат: A (x = -100, y = -100); B (x = -100, y = 100); D (x = 100, y = 100); E (x = 100, y = -100). А як вичислити координати точки C? Вона розташована на вертикальній координатній осі (вісь ординат), тому x = 0. Від початку координат їй треба піднятися на два кроки, тому y = 200. Отже, C (x = 0, y = 200). Щоб намалювати конверт, треба пройти Черепашкою по вказаних точках. Наприклад, один з варіантів розв’язків: ABCDEBDAE. Завважте, можливі і інші варіанти! Тепер переходимо до програмування. Завдання: наберіть і збережіть у файлі таку послідовність команд (файл назвіть Конверт) # Імпорт модуля "Черепашка" from turtle import * # Оголошення координат точок конверта def A(): goto (-100, -100) def B(): goto (-100, 100) def C(): goto (0, 200) def D(): goto (100, 100) def E(): goto (100, -100) # Підготовка Черепашки до роботи reset() # Встановлюємо черепашку на початок координат up() # Підняти хвіст черепашки A() # Перейти в точку A down() # Опустити хвіст # Малюємо конверт A(); B(); C(); D(); E(); B(); D(); A(); E() up() # Підняти хвіст черепашки mainloop() # Зациклити виконання модуля |
Зауваження: якщо вам важко писати ще й коментарі, то не робіть цього – пишіть просто код.
За рух черепашки по екрану відповідає команда goto (пригадайте її призначення)
Пояснення до коду: def – це так звана функція, або підпрограма. Тобто це фрагмент коду, до якого можна звертатися за іменем (подібно до того, як отримувати дані зі змінних. Одна відмінність – потрібно ставити дужки).
Послідовність команд A(); B(); C(); D(); E(); B(); D(); A(); E() задає рух Черепашки по вказаних точках. Якщо крок у 100 пікселів для вас мало, збільшіть його вдвічі (100∙2 = 200, 200∙2 = 400).
Запустіть програму на виконання і спостерігайте, як Черепашка малюватиме конверт. При бажанні задайте інші параметри – колір, товщину пера, друк тексту, швидкість руху Черепашки, її вигляд тощо. Скопіюйте зображення вікна в буфер обміну, вставте в графічний редактор (напр. Paint) і збережіть як точковий малюнок. Назву малюнку задайте у вигляді послідовності літер (напр. ABCDEBDAE).
Завдання: спробуйте відшукати інші способи розв’язання задачі. Накресліть конвертик у зошиті, запишіть послідовність літер, потім модифікуйте свою програму, отримайте нове зображення конверта і збережіть його так, як було описано вище.
Отже, послідовність команд A(); B(); C(); D(); E(); B(); D(); A(); E() задає один з варіантів малювання конверта. Придумайте свій варіант, запишіть його в зошит та реалізуйте у Python.
Зробіть відповідні висновки.
«Українізація» Черепашки.
Після команди
from turtle import *
додайте наступні команди, які виступлять як україномовні синоніми англомовним командам:
перейти = goto
рестарт = reset
підняти = up
опустити = down
зациклити = mainloop
Далі замініть усі англомовні команди на україномовні (можете скористатися можливостями автозаміни тексту).
Ви отримаєте наступний текст програми для малювання конверта:
# Імпорт модуля "Черепашка" from turtle import * # Оголошення координат точок конверта перейти = goto рестарт = reset підняти = up опустити = down зациклити = mainloop def A(): перейти (-100, -100) def B(): перейти (-100, 100) def C(): перейти (0, 200) def D(): перейти (100, 100) def E(): перейти (100, -100) # Підготовка Черепашки до роботи рестарт() підняти() A() опустити() # Малюємо конверт A(); B(); C(); D(); E(); B(); D(); A(); E() підняти() зациклити() Вітаємо! Ваша Черепашка розуміє українську! |
ЗАВДАННЯ: Створіть новий файл, назвіть його черепашка. Перенесіть до нього синоніми україномовних команд. # Імпорт модуля "Черепашка" from turtle import * # Оголошення координат точок конверта перейти = goto рестарт = reset підняти = up опустити = down зациклити = mainloop
У тій же папці створіть файл конверт2 і вставте в нього команди: from черепашка import * def A(): перейти (-100, -100) def B(): перейти (-100, 100) def C(): перейти (0, 200) def D(): перейти (100, 100) def E(): перейти (100, -100) # Підготовка Черепашки до роботи рестарт() підняти() A() опустити() # Малюємо конверт A(); B(); C(); D(); E(); B(); D(); A(); E() підняти() зациклити()
|
Пояснення: команда from черепашка import * задає імпорт програмного коду з ВАШОГО файлу. Отже, ви створили власний модуль!
Тепер створіть ще один файл, назвіть його малюємоконверт (одним словом!). Перенесіть у нього ще частину коду:
from черепашка import * def A(): перейти (-100, -100) def B(): перейти (-100, 100) def C(): перейти (0, 200) def D(): перейти (100, 100) def E(): перейти (100, -100) # Підготовка Черепашки до роботи рестарт() підняти()
|
Тепер створіть файл Конверт3 у тій же папці і введіть такий програмний код (зберігайте правильний регістр літер!):
from черепашка import * from малюємоконверт import * # Малюємо конверт A() опустити() A(); B(); C(); D(); E(); B(); D(); A(); E() підняти() зациклити()
Що це нам дало? Частину програмного коду ми тепер зберігаємо в інших файлах, які імпортуємо як модулі на початку програми. В основному виконавчому файлі менше тексту, що робить програму більш читабельною
|
Зробіть висновок, у якому вкажіть:
Релаксація: