У цьому уроці розглянемо функції у python без параметрів. Навчимося пакувати код у функції та викликати їх за нашим бажанням!
Що таке функції у Python
Уявіть, що ви маєте рецепт для приготування піци. Кожного разу, коли ви хочете зробити піцу, ви можете використовувати цей рецепт, не потрібно весь час писати інструкції заново. Просто дотримуйтесь рецепта, і він допоможе вам приготувати піцу.

Функції без параметрів у Python
Функція у Python — це як рецепт. Ви створюєте функцію, щоб виконати певну задачу, а потім можете використовувати її знову і знову.
Функція без параметрів — це простий рецепт, який не потребує додаткових інгредієнтів для того, щоб спрацювати. Ви просто викликаєте функцію, і вона виконує свою задачу.
Як це виглядає в Python? Починається функція словом def і назвою. Назва може бути майже будь-яка: головне, щоб починалася з літери, назва може містити букви, цифри, нижнє підкреслення, але не пробіли. Бажано, щоб по назві можна було зрозуміти, що робить функція.
Код функції розташовується під назвою з обов’язковими відступами (схоже як в циклі чи умовах)

На картинці ми створили функції my_little_cat для малювання кота. А потім, внизу покликали її. Виклик функції – обов’язкова частина, бо якщо функцію не покликати – вона не озветься і не буде працювати. Ми покликали навіть двічі. Між викликами додали ще команди, щоб програма помяукала.
А ось ще один простенький приклад для функції вітання:
def greet():
print("Привіт, світ!")
print("Привіт, я перша фукція!")
Як використовувати функцію? Щоб скористатися функцією, просто напишіть її ім’я і додайте круглі дужки:
greet()
– То нащо ті всі складнощі з функціями? І без них якось програмували…
Насправді, функції – то мега потужний інструмент. Вони є у кожній сучасній програмі і дуже допомагають використовувати один і той же код багато разів. Так-так, жоднісінька справжня програма не обходиться без функцій. Хоч, на перший погляд, тема і може видатися дивною, але зачекайте, доки ми навчимося писати складніші програми з функціями і я обіцяю, вони ще покажуть вам свою магію. Недарма ж їх так полюбили програмісти!
Ми подивилися простенькі приклади, але що як ми захочемо запхнути цикл у функцію? А якщо умову? Що ж буде з відступами?
Та власне відступаємо для кожного блоку та і все. Але гляньте-но як гарно і по дорослому виглядатиме такий код з відступами😎!

Функції з параметрами у Python
Забігаючи наперед, покажу, що функції можуть мати параметри. Це такі налаштування, які ми передаємо перед стартом функції. Це допоможе нам запускати функцію для різних випадків життя. Ось приклад для функції котів і їхніх талантів. У виклик функції закидуємо першого кота на ім’я “Капітан Муркотун”🙀 із його рідкісним талантом “муркотіння на 3 км”. А далі по черзі пропускаємо всіх талановитих котів через функцію!

Тільки уявіть собі нові можливості! Згадайте, як ми писали код для прямокутника у черепашці. Та ще й колір вказували. І коли в програмі треба було намалювати кілька таких прямокутників, то код розтягувався у довгу предовгу ковбасу! Тепер ми можемо створити функцію для прямокутника! І далі тільки викликаючи таку функцію, ми можемо намалювати і великий зелений прямокутник, і малесенький жовтий квадрат в один рядок!
Але параметри відкладемо до наступних уроків. Поки наша задача, навчитися писати прості функції like a PRO!
Маленька гра перед великим стартом
0: Спробуйте визначити, який код відповідає кожній з картинок без запуску код? Чому ви так вирішили?

Пишемо перші функції у Python
1: Створіть функцію-генератор супергеройських імен за шаблоном.
Перший список міститиме першу частину імені супергероя (Наприклад: “Супер”, “Капітан”, “Доктор”, “Електро”,“Мега”).
Другий – другу частину (Наприклад: “Кіт”, “Блискавка”, “Ракета”, “Дракон”, “Робот”).
В результаті програма має повертати випадкову комбінацію з 2-х частин імені. (Підказка: random.choice)
import random
def superhero_name():
part1 = тут_список_першої_частинки
part2 = тут_список_другої_частинки
вивести "Супергеройське ім'я: випадковий_вибір(part1) випадковий_вибір(part2)"
superhero_name()
Трохи змініть програму, щоб вона виводила супергеройське ім’я для вашої вчительки математики, вашого друга та вашого сусіда. Підказка: функцію змінювати не треба, але тепер її треба викликати тричі!

2: Створіть функцію генератор імен для нових планет. Функція має генерувати випадкове ім’я для планет з двох частинок. Ось можливі варіанти списків :
parts1 = ["Зета", "Гамма", "Альфа", "Космо", "Астрон"]
parts2 = ["-1", "-X", "-Prime", "-B", "-4000"]
А як називається ваша нова функція? Сподіваюсь ви дали їй нове унікальне, неповторне ім’я? Якщо ні, то у мене для вас погані новини, бо пайтон не розрізнить функції з одним іменем. А тому включаємо фантазію і нумо змінювати ім’я!
3: Створімо функцію robo_speak() для перетворення тесту на робомову! Робот має замінювати
всі літери “а” в тексті на “4”,
всі літери “о” в тексті на “0”,
всі літери “е” в тексті на “3”,
всі літери “і” в тексті на “1”.
def robo_speak():
text = просимо_користувача_ввести_фразу_з_клавіатури
robo_text = text.replace("а", "4").replace("о", "0") #далі допишіть самі
виводимо на екран robo_text
robo_speak()
4: Створімо програму лічильника овечок для сну. Будемо рахувати їх аж до 10-ти.
import time
def sheep_counter():
цикл з i від 1 до 10-ти:
вивести "Овечка {i} 🐑"
time.sleep(1)
вивести "Добраніч! 😴"
sheep_counter()
5: Намалюйте прямокутник з зірочок (*). Користувач вводить з клавіатури ширину (напр.: 6 зірочок) і висоту (напр.: 3 зірочки) і програма має намалювати:
******
******
******
6: Напиши функцію who_am_i, яка визначатиме, хто ти сьогодні. Значення має випадково обиратися зі списку(можеш написати свій варіант):
[“Лицар”, “Дракон”, “Король”, “Чарівник”, “Космонавт”, “Геймер”, “Хакер”]
далі функція виводить на екран. Виклич функцію тричі так, щоб вона написала хто ти будеш сьогодні, завтра та післязавтра (код функції змінювати не треба).

Приклад:
Сьогодні я: Хакер
Завтра я: Дракон
Післязавтра я: Космонавт

Домашня робота
Функції у python
А де домашка ??? А нема! На наступному уроці буде Велика Гра в якій кожен створить купу функцій, а переможці по праву нестимуть титул “Гуру функцій на Python”!
Відео з поясненням функції тут.
Не зупиняйтесь у вивченні Python! До зустрічі на наступних уроках!
