Урок:

Структура коду Python 2

Вміст уроку:
1
2
3

Урок не містить жодного завдання. Додайте завдання.

Щоб додати завдання, оберіть категорію завдання на панелі запитань.

1

12 з 36 балів

Продовження циклу, continue

Іноді потрібно не переривати весь цикл, а лише пропустити, по певній причині, одну ітерацію. Для цих речей використовується оператор continue.

Коли програма у процесі виконання досягає інструкції continue, відразу ж керування програмою передається на початок циклу, де умова перевіряється знову (це ж саме відбувається і при звичайному досягненні програмою кінця циклу).

0901ratk-2385-940x272.png

Якщо користувач вводить будь-яке ім’я, окрім Joe, інструкція continue вказує програмі перейти на початок циклу. Після повторної перевірки умови програма завжди входить в тіло циклу, оскільки умова завжди істинна (True).

У випадку проходження існтрукції if, запитується пароль і, якщо користувач, вводить пароль swordfish, то виконується інcтрукція break, програма перериває цикл і виводить на екран повідомлення Access granted.. В протилежному випадку управління виконанням програми передається в кінець циклу while і відразу повертається на його початок.

Результи виконання програми для різних значень, що вводив користувач, і відповідна блок-схема:

0901ratl-4e44-940x321.png

0901ratn-3072-940x1062.png

Програма не запитає пароль до тих пір, поки користувач не підтвердить, що його ім’я Joe. Якщо буде введено неправильний пароль, програма знову запитає про ім’я, а після введення правильного пароля програма завершить своє виконання.

Цикл for

Цикл while продовжує виконуватися доти, доки умова залишається істинною. Якщо необхідно виконати блок коду лише визначену (відому) кількість разів, то використовують цикл for і функцію range(). Синтаксис використання цього циклу і цієї функції записується так:

for змінна in range():
	блок коду

В Python команда for завжди складається з таких елементів:

  • ключове слово for

  • ім’я змінної

  • ключове слово in

  • виклик функції range(), в яку можна передати до трьох цілих чисел, розділених комами

  • двокрапка

  • блок коду з відступом, що починається на наступному рядку

    0901ratp-f873-940x98.png

    Блок коду циклу for виконується 5 разів. На першій ітерації (при першому виконанні) значення змінної i встановлюється рівним 0. Виклик функцій print() в тілі циклу виводить повідомлення Anakin Skywalker (0).

    Коли цикл закінчує ітерацію, виконавши увесь блок коду, управління передається на початок циклу, де інструкція for збільшує значення змінної i на 1.

    Саме тому, виклик функції range(5) забезпечує п’ятикратне виконання блоку коду циклу, встановлюючи для i послідовно значення 0, 1, 2, 3 і 4.

    0901rats-fa94-940x102.png

    Коли запустити дану програму, вона виведе п’ять рядків тексту, кожен з яких буде закінчуватись поточним значенням змінної i, після цього цикл закінчить свою роботу:

0901ratt-64e8-940x164.png

0901ratv-3e8e-940x631.png

0901ratz-43bc-940x104.png

Функція range()

У функцію range() можна передавати аргументи - значення трьох цілих чисел, розділених комами.

Перше число визначає, з якого значення починає змінюватися змінна циклу for, друге число - значення, до якого може змінюватися змінна циклу for (число не входить у діапазон). Для прикладу, виконавши такий код:

0901rau0-a947-940x645.png

Функцію range() можна викликати також, задавши від’ємний крок. У такому випадку значення змінної циклу for буде змінюватися від більших значень до менших. Виконання циклу for з використанням виклику range(3, -4, -1):

0901rau1-3d2c-940x351.png

Цикл for і послідовності

Цикл for дозволяє проходити по різним структурам даних, які є послідовностями.

Використання циклу for для проходження по елементам списку:

0901rau3-8277-940x299.png

Ітерація по рядку повертає один символ за раз, як показано на цьому прикладі:

0901rau4-b906-940x293.png

В наступному прикладі ключі словника є назвами сфер діяльності людини, а значення словника - назвами професій:

0901rau6-a76a-940x723.png

0901rau7-5c4d-940x711.png

Включення для списків

0901raub-d335-940x564.png

0901raue-509b-940x146.png

Генератори

У Python генератор - це об’єкт, який призначений для створення послідовності. За допомогою генераторів можна проходити (ітерувати) по великим послідовностям без необхідності створення і збереження всієї послідовності у пам’ять відразу.

У поданому нижче прикладі використовується генератор - функція range(), яка генерує послідовність цілих чисел і обчислюється сума чисел від 1 до 50 включно за допомогою функції sum():

0901raul-9b35-940x66.png

Модулі і пакети

У багатьох мовах програмування існує концепція бібліотек, або блоків коду, призначених для повторного використання.

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

Те, що вважається стандартною бібліотекою в Python, складається з декількох компонентів, до яких входять вбудовані типи даних і константи, які можуть використовуватися без команди імпортування, як, наприклад, числа і списки.

Будь-якій програмі на мові Python доступний базовий набір вбудованих функцій, в число яких входять такі функції як print(), input(), len() тощо, які можна використовувати у програмі, як кажуть, «з коробки».

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

Наприклад, модуль math містить математичні функції, модуль random - функції для роботи з випадковими числами.

Імпорт модулів: інструкція import

0901rauu-4580-940x120.png

Проаналізуємо, як працює модуль random, який надає доступ, зокрема, до функції randint().

Введіть поданий нижче код у файл і збережіть з певним ім’ям:

0901rauw-f4fc-940x499.png

Для імпортування декількох модулів, використовують такий синтаксис:

import модуль1, модуль2, модуль3,...

або імпортують у такому вигляді:

import модуль1
import модуль2
import модуль3, модуль4

Всі інструкції import рекомендують розміщувати у верхній частині файла.

Тепер можна використовувати будь-які функції, які знаходяться у цих модулях.

Оператор import має альтернативну форму використання:

from модуль import функція1, функція2,...

При імпортуванні можна використовувати символ *. Для нашого прикладу з модулем random()

0901rav2-c2a8-940x421.png

Модуль math: що всередині?

Модуль math стандартної бібліотеки Python містить багато математичних функцій.

Щоб отримати до них доступ зі своїх програм, необхідно імпортувати бібліотеку math за допомогою команди

0901ravz-3493-940x52.png

Використаємо інтерактивний режим інтерпретатора Python для дослідження даної бібліотеки. Ця бібліотека містить такі константи, як pi (число Пі) і e (експонента):

0901raw0-765d-940x597.png

  1. Повертає абсолютне значення.

  2. Округлення вниз.

  3. Округлення вгору.

  4. Обчислення факторіалу.

  5. Піднесення числа до степеня.

  6. Обчислення кореня квадратного з числа.

  7. Перетворення значення в градусах у радіани.

  8. Перетворення значення в радіанах у градусну міру.

Щоб дізнатися увесь список функцій імпортованого модуля math, використаємо функцію dir():

0901raw5-413a-940x235.png

0901raw9-3327-940x247.png

Якщо ви хочете викликати функцію factorial(), наприклад, для значення 3, зробити це не вдасться, тому що ім’я factorial не входить у простір імен - у просторі імен лише змінна math.

Однак, ви можете провести пошук атрибута factorial по змінній math з використанням оператора крапка (цей оператор переглядає атрибути об’єкта):

0901rawb-b387-940x73.png

2

12 з 36 балів

Вправа 1: Фільтр чисел

📌 Умова:

Користувач вводить 10 чисел.
Програма повинна:

  • пропускати всі від’ємні числа (використати continue)

  • додавати тільки додатні числа

  • в кінці вивести суму додатних чисел

Приклад:

Ввід: 5, -2, 3, -1, 4...
Результат: 12

3

12 з 36 балів

Умова:

Програма працює у циклі while:

  1. Запитує ім’я

  2. Якщо ім’я НЕ "admin" → пропускає все інше і починає цикл заново (continue)

  3. Якщо ім’я "admin":

    • запитує пароль

    • якщо пароль "1234" → вивести Доступ дозволено і завершити програму (break)

    • інакше → повернутись на початок циклу

    Введи ім’я: user
    (повтор)

    Введи ім’я: admin
    Введи пароль: 1111
    (повтор)

    Введи ім’я: admin
    Введи пароль: 1234
    Доступ дозволено

Рефлексія від 0 учнів

Сподобався:

0

Так: 0

Ні: 0

Зрозумілий:

0

Так: 0

Ні: 0

Потрібні роз'яснення:

0

Ні: 0

Так: 0

Рекомендуємо

Структура програми. Мова програмування Python

Структура програми.  Мова програмування Python

627

Аватар профіля Якушенкова Оксана Анатоліївна
Інформатика
8 клас

20 грн

Геометрія коду

Геометрія коду

268

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
11 клас

25 грн

Генетичний код

Генетичний код

291

Аватар профіля Вайда Галина Іванівна
Біологія
9 клас

20 грн

Інструктаж з БЖД. Магія коду

Інструктаж з БЖД. Магія коду

200

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
11 клас

25 грн

Урок 2. Змінні в Python

Урок 2. Змінні в Python

130

Аватар профіля Чайковський Олександр Олександрович
Інформатика
7—9 клас

100 грн

Minecraft Education (Година коду): TimeCraft

Minecraft Education (Година коду): TimeCraft

2776

Аватар профіля Андрієнко Мар`ян Андрійович
Інформатика
6—10 клас

50 грн

Схожі уроки

Впорядкування, пошук і фільтрування даних.

Впорядкування, пошук і фільтрування даних.

1276

Аватар профіля Вожга Ірина Леонідівна
Інформатика
9 клас

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

Створення й уведення структури таблиць. Поняття таблиці, поля, запису. Створення таблиць, означення полів і ключів у середовищі СКБД. Властивості полів, типи даних.

1090

Аватар профіля Савка-Ржематорська Оксана Василівна
Інформатика
9 клас

Цикли з передумовою у вкладених циклах

Цикли з передумовою у вкладених циклах

1335

Аватар профіля Вожга Ірина Леонідівна
Інформатика
6 клас

Налаштування часових параметрів аудіо- та відеоряду.

Налаштування часових параметрів аудіо- та відеоряду.

489

Аватар профіля Солодовнікова Катерина Олексіївна
Інформатика
8 клас

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

Елемент керування «кнопка». Поняття об’єкту та його властивостей і методів (на прикладі елементів екранної форми). Властивості і методи елементів керування.

642

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас

Елемент керування кнопка

Елемент керування кнопка

267

Аватар профіля Пилипенко Олена Володимирівна
Інформатика
8 клас