ЛР37. Спискові включення і генератори
Коротко про роботу
Потрібно відфільтрувати числа, піднести їх до квадрата та використати результат один раз або кілька разів. Варіант визначає STUDENT_X.
Відкрити робочий зошит Як виконувати лабораторні
1. Умова
Потрібно відфільтрувати числа, піднести їх до квадрата та використати результат один раз або кілька разів.
Усі обчислення виконуйте з даними свого STUDENT_X. Значення варіанта друкує перша комірка зошита.
2. Що треба знати
Робота виконується після Л1–Л14. Потрібні поняття:
- спискове включення
- генераторний вираз
sum()- одноразове споживання генератора
Межа матеріалу
Використовуйте поняття, вивчені до Л1–Л14. Не перетворюйте генератор на список до вправи з частковим споживанням.
3. Варіант, вхідні дані та результат
У зошиті заповніть STUDENT_NAME, STUDENT_GROUP і STUDENT_X від 1 до 30.
Вхідні дані
| Поле | Зміст |
|---|---|
values |
вхідні числа |
threshold |
нижня межа фільтра |
Поля результату
| Поле | Зміст |
|---|---|
materialized |
квадрати значень, що проходять умову відбору |
aggregate |
сума всього сформованого списку |
first_pass_sum |
сума генератора під час першого проходу |
second_pass_sum |
сума того самого генератора під час другого проходу |
Назви полів результату не змінюйте.
4. Терміни і правила
Терміни
- спискове включення — короткий запис побудови нового списку з ітерації та необов’язкової умови.
- генераторний вираз — лінивий потік значень, які обчислюються під час споживання.
- одноразове споживання — вже отримані з генератора значення не з’являються повторно.
Правила
- До обробки входять значення
value >= threshold. materializedмістить квадрати таких значень у початковому порядку.aggregate— сума всьогоmaterialized.- Генератор віддає ті самі квадрати. Перший
sum(...)споживає весь генератор, тому другийsum(...)для того самого об’єкта дає0.
5. Завдання
Завдання 1
Через спискове включення відберіть value >= threshold, піднесіть значення до квадрата та запишіть список у materialized. Суму запишіть у aggregate.
Завдання 2
Створіть генераторний вираз для тих самих квадратів. Не перетворюйте його на список.
Завдання 3
Обчисліть sum(...) для генератора двічі. Перший результат запишіть у first_pass_sum, другий — у second_pass_sum.
6. Перевірка і здача
- Запустіть самоперевірку та виправте помилки.
- Перезапустіть ядро і виконайте роботу ще раз від початку.
- Збережіть
.ipynbі PDF з кодом та результатами.
Назва PDF: LR37_Прізвище_Група_VNN.pdf.