Практика: Списки та Кортежі
Сьогодні ти прокачаєш навички роботи зі списками: індекси, зрізи, методи, цикли, list comprehension, матриці, а також кортежі та unpacking.
1 Додавання в список
Є список inventory = []. Який рядок коду коректно додасть "gold" в кінець?
2 Негативна індексація
Є список colors = ["red", "green", "blue", "yellow"].
Напиши вираз, який поверне передостанній елемент.
3 Зрізи із кроком
Є список colors = ["red", "green", "blue", "yellow"].
Напиши зріз, який візьме елементи ["red", "blue"] (тобто з 0 по 3 через один).
4 Вставка та розширення
Обери правильні варіанти:
A) вставити "yellow" на позицію 1 у списку colors
B) додати одразу список ["cyan", "black"] у кінець colors як окремі елементи
A)
B)
5 Видалення: pop / remove / clear
Який метод видаляє елемент і повертає його значення?
6 Фільтрація оцінок (for → list comprehension)
Є список: grades = [10, 5, 12, 8, 4, 11].
Напиши list comprehension, який створить список лише з оцінок >= 10.
Мінімум для проходження — щоб у відповіді було for g in grades.
Але постарайся написати повний правильний вираз.
7 Матриці (список списків)
Є поле:
Напиши вираз доступу, який поверне board = [
["X"," ","O"],
[" ","X"," "],
["O"," ","X"]
]"O" з першого рядка і третього стовпчика.
8 Кортежі: незмінність + unpacking
Є кортеж: coordinates = (50.4501, 30.5234).
Який рядок правильно “розпакує” значення у змінні lat і lon?
coordinates[0] = 51.0 викликає TypeError?
Завдання для VS Code / IDLE
Це вже “майже проєкт”: попрактикуєш методи списків, перевірки, цикли, comprehension, роботу з матрицею та кортежами. Роби акуратно: кожне підзавдання — окрема функція або блок коду з тестовими прикладами.
🧰 1) Менеджер інвентарю (CRUD)
- Створи
items = ["sword", "map", "shield"]. - Зроби меню в циклі
while True: add / insert / remove / pop / show / clear / exit. - add: додає предмет у кінець (append).
- insert: питає індекс і предмет (insert).
- remove: видаляє за значенням (remove), якщо немає — виводь повідомлення без падіння програми.
- pop: видаляє за індексом і друкує “випав предмет: ...”.
- show: показує список і кількість через
len().
🔎 2) Фільтрація та статистика оцінок
- Згенеруй список з 10 чисел (можна вручну або через
random). - Побудуй
best = [g for g in grades if g >= 10]. - Виведи: кількість “кращих”, мінімум/максимум у вихідному списку, і середнє (через
sum()/len()). - Відсортуй список через
.sort()і покажи перший та останній елементи.
🎮 3) Матриця 3×3: редагування клітинки
- Створи поле
boardяк 3×3 список списків (порожні клітинки — пробіл). - Запитай у користувача рядок і стовпчик (0–2) та символ (
"X"або"O"). - Онови клітинку
board[row][col] = symbolі виведи поле красиво (рядок за рядком). - Додай перевірку: якщо клітинка зайнята — не перезаписуй.
📍 4) Кортежі: маршрут без змін
- Створи кортеж
start = (50.45, 30.52)іfinish = (49.84, 24.03). - Розпакуй координати у змінні та надрукуй їх форматовано.
- Спробуй змінити
start[0], злови помилку черезtry/exceptі поясни її в коментарі.
🧪 5) Зрізи як інструмент (start:stop:step)
- Створи список
nums = list(range(1, 21))(1..20). - Зроби 4 нові списки зрізами:
first5— перші 5 елементів.last5— останні 5 елементів.evens— кожен 2-й елемент зі списку (через step).reversed_nums— список у зворотному порядку (через step-1).
- Виведи всі 4 результати і коротко поясни в коментарях, як працює кожен зріз.
🧹 6) Очищення даних: remove / pop / clear
- Є список:
items = ["map", "torch", "map", "rope", "map", "food"]. - Видали лише перший
"map"черезremove()і виведи список. - Потім видали останній елемент через
pop(), збережи його в зміннуdroppedі надрукуй:"Випало: ...". - Якщо у списку залишилися
"map", видали їх усі (цикл +removeабо comprehension у новий список). - Наприкінці очисти список повністю через
clear()і перевір черезlen(), що він порожній.
📦 7) extend vs append (вкладені структури)
- Створи список
bag = ["water", "bread"]і списокloot = ["gold", "potion"]. - Додай
lootуbagдвома способами:bag.append(loot)bag.extend(loot)
- Після кожного способу виведи список і поясни в коментарі, чим відрізняється результат (особливо зверни увагу на вкладений список).
- Додатково: дістань елемент
"pot