🏫 Урок 34

🕵 Пошук елементів у списку: оператор in, методи index() та count()

🏫 Урок 34

🖥️ Інформатика | 8 клас
🏫 Урок 34

🎯 Сьогодні ми дізнаємося

  • 🔢 Як порахувати однакові предмети в інвентарі.
  • 📍 Як дізнатися номер слота, де лежить потрібна річ.
  • 🎮 Як застосувати Python для ігрових механік типу Roblox.
🖥️ Інформатика | 8 клас
🏫 Урок 34

🎮 Уяви себе розробником!

Кожна гра (Minecraft, Roblox, Fortnite) використовує списки для зберігання речей гравця.

  • Скільки в мене блоків дерева? (count)
  • У якому слоті мій меч? (index)

Давайте навчимо програму відповідати на ці запитання! 🚀

🖥️ Інформатика | 8 клас
🏫 Урок 34

📝 Занотуйте в зошит

Методи для пошуку в списках:

  • список.count(значення) — рахує, скільки разів елемент зустрічається в списку.
  • список.index(значення) — повертає номер (індекс) першого знайденого елемента.

Важливо: Якщо методу index() дати елемент, якого немає в списку, програма видасть помилку (IndexError!).

🖥️ Інформатика | 8 клас
🏫 Урок 34

🛡️ Оператор in: Перевірка наявності

Перед тим як шукати номер слота через index(), варто переконатися, що річ взагалі є в наявності.

Конструкція елемент in список повертає:

  • True (істина), якщо елемент є у списку.
  • False (хибність), якщо його немає.
inventory = ["Sword", "Shield", "Potion"]

if "Sword" in inventory:
    print("Меч знайдено! Можна йти в бій.")
else:
    print("Тобі потрібна зброя!")
🖥️ Інформатика | 8 клас
🏫 Урок 34

💻 Приклад коду (Inventory)

# Наш рюкзак з предметами
backpack = ["Sword", "Apple", "Wood", "Apple"]

# Рахуємо яблука
apples_count = backpack.count("Apple")
print(f"Яблук у рюкзаку: {apples_count}") # 2

# Безпечний пошук слота
item = "Wood"
if item in backpack:
    slot = backpack.index(item)
    print(f"{item} знаходиться в слоті №: {slot}")
🖥️ Інформатика | 8 клас
🏫 Урок 34

Завдання: ⭐️ Достатній рівень

"Ревізія"

  • Створіть список inventory (6-8 предметів, наприклад: ["Gold", "Wood", "Gold", "Stone", "Apple", "Wheat"]).
  • Виведіть на екран, скільки разів у списку зустрічається предмет "Gold".
  • Виведіть індекс предмета "Stone".
🖥️ Інформатика | 8 клас
🏫 Урок 34

Завдання: ⭐⭐️ Середній рівень

"Пошук слота"

  • Створіть список inventory (6-8 предметів, наприклад: ["Gold", "Wood", "Gold", "Stone", "Apple", "Wheat"]).
  • Напишіть програму, яка запитує назву предмета в користувача (використовуючи функцію input()).
  • Перевірте, чи є предмет у списку: if item in inventory:.
  • Якщо є — виведіть його номер слота та кількість (використовуючи функції index() та count()).
  • Якщо немає — не виводьте нічого.
🖥️ Інформатика | 8 клас
🏫 Урок 34

Завдання: 🌟🌟🌟 Високий рівень

"Сортувальник ресурсів"

  • Створіть список inventory = ["Gold", "Wood", "Wood", "Gold", "Stone", "Apple", "Wood", "Wood", "Wood"]
  • Якщо кількість ресурсу "Wood" більша або дорівнює 5 то:
    • Виведіть: "Рюкзак переповнений деревом!".
    • Знайдіть індекс першого блоку дерева.
    • Замініть його на "Super-Wood" (через inventory[index] = "...").
    • Видаліть інші блоки дерева зі списку.
    • Виведіть фінальний список.
🖥️ Інформатика | 8 клас
🏫 Урок 34

🏠 Домашнє завдання

  1. Напиши програму в зошиті, або використовуючи Python Online
  2. Якщо писав не в зошиті, то зроби фото коду і результату його виконання
  3. Впевнись, що можеш пояснити свій код.
  • Створити список зі своїми улюбленими іграми (5-7 назв).
  • Напиши код, який:
    • Запитує назву гри у користувача (функція input()).
    • Використовує in для перевірки наявності у списку.
    • Якщо гра є у списку — виводить її індекс та кількість згадок.
🖥️ Інформатика | 8 клас