You are on page 1of 4

Лабораторна робота №3

Тема: Програмування функцій користувача мовою Python. Використання модулів.


Модуль Math. Модуль Turtle. Модуль Random.

Мета: ознайомитися з принципами побудови функцій користувача мовою Python, з


використанням локальних і глобальних змінних.

Теоретична частина

Функції представляють блок коду, який виконує певне завдання і який можна повторно
використовувати в інших частинах програми. Формальне визначення функції:

Визначення функції починається з виразу def, яке складається з імені функції, набору
дужок з параметрами і двокрапки. Параметри в дужках необов'язкові. А з наступного рядка йде
блок інструкцій, які виконує функція. Всі інструкції функції мають відступи від початку рядка.
Наприклад, визначення найпростішої функції:

Функція називається say_hello. Вона не має параметрів і містить одну єдину інструкцію,
яка виводить на консоль рядок "Hello".
Для виклику функції вказується ім'я функції, після якого в дужках йде передача значень для
всіх її параметрів. Наприклад:

Тут три рази поспіль викликається функція say_hello. У підсумку ми отримаємо


наступний консольний висновок:

Тепер визначимо і використовуємо функцію з параметрами:

Функція приймає параметр name, і при виконанні функції ми можемо передати замість
параметра будь-яке значення:
Значення за замовчуванням
Деякі параметри функції ми можемо зробити необов'язковими, вказавши для них значення за
замовчуванням при визначенні функції. Наприклад:

Тут параметр name є необов'язковим. І якщо ми не передаємо при виконанні функції для
нього значення, то застосовується значення за замовчуванням, тобто рядок "Tom".

Іменовані параметри
При передачі значень функція зіставляє їх з параметрами в тому порядку, в якому вони
передаються. Наприклад, нехай є наступна функція:

При виконанні функції перше значення "Tom" передається першому параметру - параметру
name, друге значення - число 22 передається другому параметру - age. І так далі по порядку.
Використання іменованих параметрів дозволяє перевизначити порядок передачі:

Іменовані параметри припускають вказівку імені параметра з присвоєнням йому значення


при виконанні функції.

Невизначена кількість параметрів


За допомогою символу зірочки можна визначити невизначену кількість параметрів:
В даному випадку функція sum приймає один параметр - *params, але зірочка перед
назвою параметра вказує, що фактично на місце цього параметра ми можемо передати
невизначену кількість значень або набір значень. У самій функції за допомогою циклу for можна
пройтися по цьому набору і зробити з переданими значеннями різні дії. Наприклад, в даному
випадку повертається сума чисел.

Повернення результату
Функція може повертати результат. Для цього в функції використовується оператор return,
після якого вказується значення, що повертається:

Оскільки функція повертає значення, то ми можемо присвоїти це значення будь-якій змінній і


потім використовувати її: result2 = exchange(56, 30000).
В Python функція може повертати відразу кілька значень:

Тут функція create_default_user повертає два значення: name і age. При виконанні
функції ці значення по порядку присвоюються змінним user_name і user_age, і ми їх можемо
використовувати.

Функція main
У програмі може бути визначено безліч функцій. І щоб усіх їх впорядкувати, хорошою
практикою вважається додавання спеціальної функції main, в якій потім вже викликаються інші
функції:
Завдання №1 (2 бали)

Напишіть програму, яка обчислює значення визначеної функції (на вхід подають дійсні
числа).
Залежно від вибору користувача обчислити площу круга, прямокутника або трикутника.
Для обчислення площі кожної фігури повинна бути написана окрема функція.

Завдання №2 (4 бали)

Микола свторив новий пароль до свого комп'ютера. Він має наступні властивості:
1. пароль - це семизначне число;
2. всі цифри числа розташовані строго за зменшенням;
3. семизначне число кратне 3.
Петро сказав Миколі, що таких варіантів всього 42. Микола зміг придумати тільки два
варіанти пароля: 9765432 і 8654310.
Напишіть функцію для пошуку всіх 42 можливих варіантів паролю Миколи. Для перевірки
другою та третьої властивості паролю повинні бути розроблені окремі функції.
Перевір, чи введений пароль відповідає заданим властивостям.

Завдання №3 (1 бал)

Розробити модуль що містить функції для перетворення десяткового числа в двійкове та


двійкового числа в десяткове.
Завдання №4 (3 бали)

За допомогою модуль Turtle створити програму, яка випадковим чином малює у випадково
вибраному місці, випадково вибрану геометричну фігуру(коло, трикутник, квадрат). Кількість
фігур, намальованих на полотні, вказує користувач.

Додаткові завдання (2 бали)

Завдання передбачає розробку функції для пошуку "щасливих" квитків. "Щасливим"


називається такий тролейбусний квиток, в якому сума перших трьох цифр дорівнює сумі останніх
трьох. Наприклад 030111 (0+3+0 = 1+1+1), 902326 (9+0+2 = 3+2+6), 001100 (0+0+1 = 1+0+0).

Вхідні дані: два цілих невід'ємних числа (0<=a1<=a2<=999999).

Результат роботи: кількість "щасливих квитків", чиї номери лежать на проміжку від a1 до
a2 включно. Якщо число на проміжку має менше 6 розрядів, вважати, що на його початку
дописуються нулі у необхідній кількості, як це і відбувається при нумерації квитків. Виводити
номери квитків не треба.

You might also like