Тут ми розглянемо функції у python без параметрів. А для цього пограємо у гру “Цифрова школа”! Переможе той, хто створить найбільше функцій!
Що таке функції у Python
Уявіть, що ви маєте рецепт для приготування піци. Кожного разу, коли ви хочете зробити піцу, ви можете використовувати цей рецепт, не потрібно весь час писати інструкції заново. Просто дотримуйтесь рецепта, і він допоможе вам приготувати піцу.
Функції без параметрів у Python
Функція у Python — це як рецепт. Ви створюєте функцію, щоб виконати певну задачу, а потім можете використовувати її знову і знову.
Функція без параметрів — це простий рецепт, який не потребує додаткових інгредієнтів для того, щоб спрацювати. Ви просто викликаєте функцію, і вона виконує свою задачу.
Як це виглядає в Python? Починається функція словом def і назвою. Назва може бути майже будь-яка: головне, щоб починалася з літери, назва може містити букви, цифри, нижнє підкреслення, але не пробіли. Бажано, щоб по назві можна було зрозуміти, що робить функція.
Код функції розташовується під назвою з обов’язковими відступами (схоже як в циклі чи умовах)
def greet():
print("Привіт, світ!")
print("Привіт, я перша фукція!")
Як використовувати функцію? Щоб скористатися функцією, просто напишіть її ім’я і додайте круглі дужки:
greet()
Маленька гра перед великим змаганням
0: Спробуйте визначити, який код відповідає кожній з картинок без запуску код? Чому ви так вирішили?
Гра Digital school (Цифрова школа) або функції у python на всі випадки
Сьогодні ми програємо у гру “Цифрова школа” (“Digital school”), де створимо безліч програм для різноманітних уроків. Ось правила нашої гри:
Ви змагаєтесь командою та кожен окремо.
Можна:
- обмінюватися думками, допомагати одне одному та підказувати
- шукати підказки у будь-яких файлах чи в інтернеті
Треба:
- скинути завдання вчителю до кінця гри
- оформити кожне завдання у вигляді функції
- в імені функції номер завдання
Не можна:
виконувати одне і те ж завдання в одній команді
Завдання розташовані нижче. Вони різного кольору і позначені зірочками. Колір визначає, на яку тему це завдання. Зірочки показують складність (від 1 до 10). Далі пару табличок, які можуть вам допомогти обрати завдання.
Ви можете обрати складність та теми для завдань.
Математика | 27 28 47 38 40 |
Українська | 5 15 13 33 34 |
Англійська | 65 66 55 56 57 19 23 29 30 50 |
Історія | 54 9 51 52 53 24 25 26 |
Фізкультура | 44 35 36 39 |
Астрономія | 2 3 4 11 7 21 31 |
Географія | 1 6 12 8 22 32 37 |
Біологія \Екологія | 10 14 16 |
Мистецтво | 61 62 63 41 42 64 67 68 69 48 70 |
Технології | 43 46 45 49 58 59 60 17 18 20 |
Як може виглядати програма з кількома функціями ?
Завдання
Математика
27 ** ** ** Коли у першокласників перевіряли техніку читання (скільки слів дитина читає за 1 хвилину), то отримали результати у списку нижче. За допомогою функцій списку, дізнайтеся:
- яка найбільша швидкість читання
- яка найменша швидкість читання
- яка середня швидкість читання
(21 учень).
read=[40,24,68,31,34,46,72,39,34,42,43,32,38,47,92,65,21,35,28,46,52]
28 ** ** ** У список занесли всі оцінки Василя з математики за семестр навчання За допомогою функцій списку, дізнайтеся:
- яка була найбільша оцінка
- яка була найменша оцінка
- яка середня оцінка
read=[10,5,11,8,2,7,12,10,10,7,11,8,11,9,10]
47 ** ** ** Напишіть програму, яка послідовно від 100 віднімає 7 і виводить всі числа, які в неї виходять. І так доки не дійде 0.
100
93
86
...
38 ** ** ** Згенеруйте два випадкових числа від 1 до 1000 і запишіть в змінні a i b.
Якщо a > b, то виведіть обидва числа на екран і результат їх різниці
Якщо a < b, то виведіть обидва числа на екран і результат їх додавання
Якщо a = b, то виведіть обидва числа на екран і множення.
40 ** ** ** ** ** Відомо, що сума всіх кутів трикутника завжди – 180 градусів. Нехай в нашому трикутнику змінні а, b та c будуть використовуватись для зберігання кутів. Перші два кути мають генеруватися випадково (подумай, в якому діапазоні мають бути ці числа). А третій кут буде рахуватися за допомогою математики (перші два кути будуть відомі, а сума кутів 180 градусів). Програма має вивести всі кути, які вийдуть.
Українська мова
5 ** Запитайте у користувача де він живе. Якщо він відповість “в Україні”, програма має привітати його. Якщо він відповість “на Україні”, програма має написати “Правильно вживати В Україні, бо це держава, а не півострів”. Якщо відповідь якась інша, програма має привітатися англійською: “Hi from Ukraine !”
15 ** ** Запишіть жарт нижче у змінну. Розбийте речення на слова. Виведіть 16 слово, а потім 2-ге слово (якщо рахувати з нуля, то 15-те і перше).
Найлегша мова у світі – китайська, її знають близько 1,5 млрд. людей. А найважча – українська, 50% населення країни не може її вивчити.
13 ** ** Запишіть в одну змінну слово “високочолий”, а в іншу “мистецтво” (про історію походження цих слів дізнаєтеся з картинок). З літер кожного з цих слів складіть нове слово і виведіть його на екран. Знайти відповідну букву допоможе індекс (Наприклад: s[2])
33 ** Запишіть губні приголосні в один список, шиплячі в інший, а свистячі у третій. Перемішайте кожен список і виведіть на екран.
34 ** ** Запишіть у список 4 синоніми слова “говорити”. Програма має випадково обрати один з синонімів і підставити його замість **** в таке речення: “Ми з друзями любимо ****”
Англійська
65 ** ** Намалюйте те, що тут написано
The radius of the purple circle is ten.
The radius of the yellow circle is fourteen.
66 ** ** Намалюйте те, що тут написано: Please draw a black square. The side of the square is twelve.
55** ** Зашифруйте назву тваринки англійською. (Використайте коди символів). Виведіть шифр на екран. (Краще обирати слово з 3-4 літер)
56** ** Зашифруйте назву природного явища англійською. (Використайте коди символів). Виведіть шифр на екран. (Краще обирати слово з 3-4 літер)
57** ** Зашифруйте прикметник англійською. (Використайте коди символів). Виведіть шифр на екран. (Краще обирати слово з 3-4 літер)
19 ** ** ** Знамениту фразу Гамлета запишіть у змінну. Виведіть її на екран, але перед фразою виведіть 77 знаків оклику, а після фрази 66 крапок. (використовуйте команди рядків)
To be, or not to be («Бути чи не бути…»)
23 ** Створіть список зі словами на тему погоди (3-4 слова). Відсортуйте список за алфавітом та виведіть на екран
29 ** ** ** За допомогою команд списку видаліть слова scaring та страшний зі списків. Додайте у списки слова curious та допитливий на перше місце.
en= ["useful", "unexpected", "scaring", "impossible"]
ua= ["корисний", "несподіваний", "страшний", "неможливий"]
30 ** ** ** ** ** Створіть список з 3 слів англійською. За допомогою циклу зашифруй кожне з цих слів. Шифр виведіть на екран
50 ** ** ** ** ** Виведіть фразу англійською задом наперед.
Madam, I’m Adam – Мадам, я Адам;
Історія
54 ** ** Напишіть питання з історії й виведіть на екран. Відповідь на це питання закодуйте за допомогою кодів символів і ці коди теж виведіть на екран.
9 ** ** ** Виведіть на екран 2 питання з історії у вигляді тесту з трьома варіантами відповіді. Коли юзер обере варіант, програма його аналізує. Якщо він вірний – програма пише, “Супер!”, для одного невірного варіанту програма має виводити “Hi-ні-ні..”, а для другого, “Прикро, але ні”
Історія в числах
51 ** Оберіть 3 числа в тексті. Перекодуйте одне число в двійкову систему. Одне в 8-кову й одне в 16-кову.
Грецький атлет Протесілай 600 року до н. е метнув диск аж на 46 м. Його рекорд протримався до 1928 року.
356 року до н.е. Герострат підпалив храм Артеміди лише для того, щоб його ім’я потрапило в історичні книги. І це спрацювало!
52 ** Оберіть 3 числа в тексті. Перекодуйте одне число в двійкову систему. Одне в 8-кову й одне в 16-кову.
Відколи 455 року вандали розграбували Рим, «вандалізм» почав означати «безглузде руйнування».
Абдул Кассим Ізмаїл, правитель Персії у Х столітті, подорожував із 400 верблюдами, які перевозили усі 117 000 книг його бібліотеки.
Якби Наполеон народився на рік раніше, то був би італійцем. Він народився на Корсиці 1769 року — через рік після того, як її купила Франція.
53 ** Оберіть 3 числа в тексті. Перекодуйте одне число у двійкову систему. Одне в 8-кову й одне в 16-кову.
На думку вчених, до 1527 р. площа Імперії інків сягала 2 млн км², що втричі більше за територію сучасної України.
Інки настільки любили картоплю, що вирощували понад 3000 різних її сортів!
Камені у спорудах інків укладалися напрочуд точно, а для самої кладки був характерний «замковий камінь» з безліччю кутів, до якого підходили всі інші блоки. Цікаво, що у Мачу-Пікчу можна побачити подібний камінь – із 32 кутами.
24 ** ** За допомогою індексів для списку, виведіть князів Київською Русі в тому порядку, як вони з’являлися на історичній арені (Історична підказка нижче на картинках)
Князі
kings=[“Ігор”, “Володимир Великий”, “Ярослав Мудрий “, “Олег”, “Володимир Мономах “, “Ольга”, “Аскольд і Дір”, “Святослав”]
25** ** За допомогою індексів для списку, виведіть всіх мореплавців в тому порядку, в якому вони щось відкрили (Дивіться дати в історичній довідці)
Географічні відкриття
guys=["Васко да Гама", "Фернан Магеллан", "Бартоломеу Діаш", "Христофор Колумб",
"Френсіс Дрейк", "Абель Тасман"]
Бартоломеу Діаш відкрив найпівденнішу точку Африки – мис Доброї Надії (1489)
Італійський мореплавець Христофор Колумб, переконаний у кулястості Землі, вважав, що, рухаючись на захід через Атлантичний океан, можна досягти Індії зі сходу – з другого боку Землі. Але доплив він не до Індії, а до Америки (1492)
Васко да Гама вирушив у путь в 1497 р., обігнув південний край Африки й, рухаючись далі уздовж східних берегів, за три тижні пройшов Індійський океан.
У 1498 р. португальці вийшли до узбережжя Індії. Морський шлях до неї було відкрито.
У 1522 році експедиція Фернана Магеллана вирушила на захід, зробивши першу навколосвітню подорож.
Френсіс Дрейк був піратом, але це не завадило йому залишитися в історії. У 1577-1580 роках він здійснив другу навколосвітню подорож. Дрейк довів, що Вогняна Земля (південь Південної Америки) – острів, наніс західне узбережжя Північної Америки на карту.
Тасман відкрив Вандіменову Землю (Тасманію), Нову Зеландію та острови Тонга і Фіджі у 1642—1643.
26 ** ** Створіть список найважливіших дат (3-4) в історії твого життя (наприклад, рік, коли ти народився, рік, коли пішов у школу). Знайди мінімальну і максимальну дату за допомогою функцій списку.
Фізкультура
44 ** ** Створіть програму, яка випише всі роки в які будуть Зимові та Літні Олімпійські Ігри від поточного року до 3000 року.
(Якщо рік ділиться на 4 – будуть Літні Олімпійські Ігри
Якщо рік ділиться на 2 і не ділиться на 4 – будуть Зимові Олімпійські Ігри)
35 ** ** Створіть програму тренувань для дівчат. Програма має згенерувати два випадкових числа від 10 до 40. І написати (замість зірочок підстав числа):
Дівчатка, ваше тренування на сьогодні: прес ** разів, стрибки ** разів
39 ** ** ** Створіть список з 6-ти своїх однокласників. Ваша програма має випадковим чином створити 2 команди з них для гри у баскетбол. Підказка:
- перетасуйте список
- виведіть перші 3 елементи циклу за допомогою циклу (це команда 1)
- виведіть наступні 3 елементи циклу за допомогою циклу (це команда 2)
Астрономія
2 ** Напишіть програму, яка визначатиме вагу на Плутоні. На Плутоні всі предмети у 15 разів легші, ніж на Землі. Напишіть програму, в якій користувач вводить свою вагу на Землі та отримує, скільки він важитиме на Плутоні.
Введи вагу на Землі (кг): 100
Вага на Плутоні (кг): 6,667
3 ** Напишіть програму, яка визначатиме вагу на Сонці. На Сонці всі предмети у 270 разів важчі, ніж на Землі. Напишіть програму, в якій користувач вводить свою вагу на Землі та отримує, скільки він важитиме на Сонці.
Введи вагу на Землі (кг)і: 100
Вага на Сонці (кг): 2700
4 ** Програма повинна запитати користувача, хоче він полетіти на Венеру чи Марс. Якщо користувач вибрав Венеру – програма має написати “На Венері тобі буде спекотно. Температура там 480 градусів”, якщо Марс “На Марсі ти зможеш побачити найвищу гору у Сонячній системі Олімп. Її висота 27 000 метрів.”
11 ** Запишіть в змінну рядок (підставте 2 планети і 2 фрукти на основі даних з картинки): “Якби Земля була розміром з помідорку чері, то _____ був би розміром з ______, а ______ розміром з ______”. Виведіть з 7 по 13 символ (якщо рахувати з нуля)
Подорож світла у космосі
7 ** ** ** Напишіть програму, яка показує, скільки часу треба, щоб світло долетіло до кожної з планет. Користувач водить час у хвилинах (може бути і дробове число), а програма виводить планети, до яких встигне долетіти світло. Наприклад
Введіть час у хвилинах: 12,5
Світло долетить до Меркурію
Світло долетить до Венери
Світло долетить до Землі
21 ** Виведіть на екран список планет:
planets=["Меркурій", "Венера", "Земля", "Марс", "Юпітер", "Сатурн", "Уран", "Нептун"]
(Варіант того ж списку англійською: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and Neptune). Додайте до цього списку Плутон (Pluto) за допомогою команди списку. Відсортуйте список за абеткою і виведіть на екран.
31 ** Напишіть програму, яка випадково обирає для користувача планету зі списку та пише “А ти готовий полетіти на ___?!.”
planets=["Меркурій", "Венера", "Земля", "Марс", "Юпітер", "Сатурн", "Уран", "Нептун"]
Географія
7 Сучасних чудес світу
Докладніше про ці чудеса можна почитати тут: https://traveliteagro.com/7-novyh-chudes-svitu/
1 ** Одне з Нових Чудес Світу – Велика Китайська Стіна завдовжки 21 196 км. Напишіть програму, яка запитує швидкість (в км\год), з якою користувач піде вздовж Стіни. Програма має вивести кількість годин, яка знадобиться, щоб обійти стіну.
Наприклад: при швидкості 5 км\год, треба 21 196:5 = 4239 годин
6 ** Програма має запитати користувача, хоче він поїхати до Мексики чи Перу. Якщо користувач вибрав Мексику – програма повинна написати “Там побачиш піраміду Чічен-Іца”. , якщо Перу “Там побачиш стародавнє місто інків Мачу-Пікчу”
12 ** Запишіть в змінну рядок: “7 липня 2007 року, у день Трьох Сімок було названо нові сім чудес світу.” Виведіть з 7 по 11 символ (якщо рахувати з нуля)
Подорожі
8 ** ** ** Напишіть програму, яка дізнається у користувача, в яку частину світу він хоче полетіти. Залежно від його вибору запропонуй йому побачити диво світу, яке там знаходиться:
якщо Європа – “Можеш побачити Колізей”
якщо Азія – “Можеш побачити Петру або Тадж-Махал або Велику китайську стіну”
якщо Південна Америка – “Можеш побачити Мачу-Пікчу або Статую Христа-Спасителя”
якщо Північна Америка – “Можеш побачити Чічен-Іца”
22 ** Виведіть на екран список чудес:
wonders=["Велика Китайська Стіна", "Римський Колізей",
"Тадж-Махал", "місто Петра", "Статуя Христа в Ріо-де-Жанейро",
"Місто індіанців Мачу-Пікчу", "Піраміда Майя"]
(Варіант того ж списку англійською: Great Wall of China, Chichén Itzá, Petra, Machu Picchu, Christ the Redeemer, Colosseum, Taj Mahal .
Додайте до цього списку будь-яку світову пам’ятку, яка вам подобається за допомогою метода списків.
32 ** Програма має випадково вибрати для користувача чудо світу зі списку та написати “А ти готовий поїхати в ___?!.”
wonders=["Велика Китайська Стіна", "Римський Колізей",
"Тадж-Махал", "місто Петра", "Статуя Христа в Ріо-де-Жанейро",
"Місто індіанців Мачу-Пікчу", "Піраміда Майя"]
37 ** ** ** Згідно з мапою (нижче), час у різних країнах Європи може відрізнятися. Так фіолетові країни живуть в UTC+0 часовій зоні, жовті в UTC+1, а сині UTC+2. Не завжди країна використовує тайм зону, в якій знаходиться географічно.
Створіть три списки countries0, countries1, countries2. Запишіть у кожен 3-4 країни з відповідної тайм зони (В countries0 можна менше). Користувач має ввести тайм зону з клавіатури. У відповідь програма має обрати випадкову країну зі списку тайм зони й запитати “Країна з цієї тайм зони: _________ ? “. Якщо користувач ввів таймзону, якій не відповідає жоден список, програма пише “не можу знайти інформацію”.
Біологія \Екологія
10 ** ** ** ** ** За даними екологів, один мешканець України створює в середньому 0,5 кг сміття на день. Виведіть на екран скільки сміття залишає одна родина з 4-х людей на рік. Також виведіть на екран скільки сміття створюють всі мешканці міста Дніпро на рік (це 1 000 000 людей)
14 ** ** ДНК розшифровується як “дезоксирибонуклеїнова кислота ”. Дізнайтеся кількість букв у слові “дезоксирибонуклеїнова” за допомогою відповідної команди. Зробіть так, щоб ваша програма вивела це слово 20 разів.
16 ** ** Коронавірус COVID-19 має повну назву, яку використовують учені. Це “Severe Acute Respiratory Syndrome Coronavirus 2”. Порахуйте кількість літер у цьому словосполученні. Виведіть 4-ту букву на екран.
Мистецтво
61** Намалюйте коло і зафарбуйте його.
62** Намалюйте квадрат якогось кольору.
63** Намалюйте трикутник.
41 ** Створіть схожий трикутник з символів @.
@
@@
@@@
@@@@
@@@@@
@@@@@@
@@@@@@@
@@@@@@@@
@@@@@@@@@
42 ** Створіть схожий трикутник з символів #.
##
# #
# #
# #
# #
# #
# #
# #
# #
# #
64 ** ** Намалюйте сніговика. (Можна такого, як на малюнку, або на власний смак)
67 ** ** ** Подивіться на спрощений портрет свинки Пепи і її брата Джорджа. Намалюйте схожий портрет одного з героїв мультиків.
68 ** ** ** Подивіться на спрощений портрет свинки Пепи і її брата Джорджа. Намалюйте схожий портрет посіпаки (міньйона).
69 ** ** ** Подивіться на відому картину Казимира Малевича “Чорний квадрат” Попросіть користувача ввести колір з клавіатури. Програма має намалювати квадрат такого кольору, який задав користувач
48 ** ** ** Казимір Малевич колись намалював картину “Чорний квадрат”, яка стала всесвітньовідомою. Ми спробуємо повторити цей експонат. Програма має запитувати у користувача ввести число від 1 до 20. Потім програма має намалювати квадрат зі стількома ж зірочками в рядок і в стовпчик. Ось приклад для числа 5:
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
70 ** ** ** ** ** Створіть картину у стилі сучасного мистецтва, яка малює 100 кіл за допомогою циклу. Кожне коло має малюватися в випадковій точці. (goto (x, y))
Технології
45 ** ** Електрокар Тесла S Long Range Plus може проїхати до 240 км без підзарядки. Але після того треба буде заряджати її кілька годин. Напиши програму, яка напише скільки разів і коли треба буде зарядити Теслу, щоб доїхати з Дніпра до найзахіднішої точки Європи (мис Рока). Це 4602 км.
Приклад:
0 зупинка на зарядку. Ми проїхали: 0
1 зупинка на зарядку. Ми проїхали: 240
2 зупинка на зарядку. Ми проїхали: 480
3 зупинка на зарядку. Ми проїхали: 720
4 зупинка на зарядку. Ми проїхали: 960
5 зупинка на зарядку. Ми проїхали: 1200
43 ** Хакер Вова Крутий написав троян, що розсилає себе по адресах з адресної книги. У середнього користувача в адресній книзі – 1000 адрес. Троян відсилає по 18 листів на секунду. Напишіть цикл, щоб дізнатися, скільки листів буде відправлено в кожну секунду
46 ** ** Програміст Коля Моніторенко пише 5 рядків коду за 1 хвилину, а програмістка Клава Мишкіна – за 7 рядків за хвилину. Напишіть програму, яка виводить кількість рядків, яку створять Коля і Клава за 1 годину, за 2 години, за 3,4,5,6,7,8 годин.
49 ** ** ** Як відомо, двійкова система головна в комп’ютерах. Намалюйте таку двійкову гору за допомогою циклу
11
1001
100001
10000001
1000000001
100000000001
10000000000001
1000000000000001
100000000000000001
10000000000000000001
Ох вже ці ІТ-шники..
58 ** ** ** Операційна система Wіndows XP на старезному комп’ютері сама по собі висне 3 рази на день, а якщо їй допомагає програма Толі Моніторенка, то 9 разів на день. Дізнайтеся, скільки разів на місяць висне комп’ютер з допомогою Толі і без. Виведіть ці числа, перевівши їх у 8-ковий код.
59 ** ** ** Програміст Коля Моніторенко (брат Толі з минулої задачі 😉) пише дівчині, з якої познайомився в чаті, 2 листи в день обсягом по 4 кілобайти кожен, а юзер Вася Чайник – 5 листів по 2 кілобайти. Яким буде їх сумарний трафік за місяць? Переведіть це число в 16-кову систему
60 ** ** ** ** ** Напишіть цикл, який виводить у двійковій системі всі числа від 1 до 20. Цикл має пропустити число 3.
17 ** ** ** Запишіть одну цитату про ІТ у змінну. Розбийте речення на слова і виведіть тільки ті слова, які виділені кольором:
Думай як баг, дій як баг і ти знайдеш баг. — З книги мудрості JavaScript-розробника
Немає сенсу наймати тямущих людей, а потім вказувати їм що робити. Ми наймаємо людей, щоб вони говорили нам що робити. — Стів Джобс
У XXI столітті залишиться тільки два види бізнесу: ті, хто розвиває свій бізнес через Інтернет, і ті, хто не в бізнесі. — Білл Гейтс
Працювати треба не по 12 годин в день, а головою! — Стів Джобс
18 ** ** ** Запишіть одну цитату про ІТ у змінну. Розбийте речення на слова і виведіть тільки ті слова, які виділені кольором:
Кожен дурень може написати код, зрозумілий комп’ютеру. Хороші програмісти пишуть код, зрозумілий людям. — Мартін Фаулер
Хороший програміст — це той, хто дивиться в обидва боки, переходячи дорогу з одностороннім рухом. — Даг Ліндер
Машини повинні працювати. Люди повинні думати. — IBM
Іноді краще залишитися спати вдома у понеділок, ніж провести весь тиждень налагоджуючи написаний в понеділок код. — Christopher Thompson
20 ** ** ** ** ** Запишіть в змінну таку цитату. Розбийте речення на слова. Ви отримаєте список після розбиття. Перетасуйте всі слова в тому списку і виведіть на екран те, що вийде
Генерація випадкових чисел — надто важливе питання, щоб залишати його на волю випадку. (невідомий)
Домашня робота
Використайте функції у своїх Python програмах.
1: Зробіть 4 завдання різних кольорів. Завдання описані вище. Ви можете обрати будь-які, які не робили у класній роботі
Level Up!
Використайте функції у своїх Python програмах.
1: Зробіть 3 завдання, які позначені шістьма або більше зірочками.
Не зупиняйтесь у вивченні Python! До зустрічі на наступних уроках!