Практична №4.1

Автор

Vadym Katsel

Дата публікації

2026-05-04

📌 План на сьогодні

  1. Lists та їхні властивості
  2. Live coding №1: Трекер продажів
  3. Live coding №2: Інтерактивний ввід
  4. Q&A
  5. Ваше завдання

📦 Коробки

До сьогоднішнього дня всі наші дані ми зберігали у простих ‘коробках’ — змінних. name = 'Іван', price = 12.50. Це чудово, але що, якщо у вас 100 студентів? Або 1000 цін на акції?

student1 = "Alice"
student2 = "Bob"
student3 = "Peter"
.
.
.
student1000 = "Pablo"

Створювати 1000 змінних — це жах. Нам потрібні контейнери.

🫙 Контейнери

Для вирішення в цієї проблеми в Python є різні структури даних:

  • List
  • Set
  • Tuple
  • Dictionary

Уявіть, що Список (List) — це як шафа з пронумерованими поличками.

students = ["Alice", "Bob", "Peter"]

📋 Властивості списків

  • Індексація почнається з 0

  • Впорядковані (все буде лежати в тому порядку, в якому ви додали)

    students = ["Alice", "Bob", "Peter"]
    #              0       1       2
  • Змінювані (можна додавати, видаляти, змінювати елементи)

    students[1] = "Robert"  
    # students = ["Alice", "Robert", "Peter"]
    students.append("Maria")
    # students = ["Alice", "Robert", "Peter", "Maria"]
    students.pop()
    # students = ["Alice", "Robert", "Peter"]
  • Підтримка різних типів

    mixed_list = [1, "Hello", 3.14, True]

👨🏻‍💻 Live coding 1:

Трекер продажів

NoneЗавдання

Уявімо, що нам потрібно відслідковувати продажі. Нам надали певні дані, потрібно їх якось зберегти і обробити.

Що саме потрібно зробити:

  • Записати дані
  • Вивести дані по дням
  • Показати кількість днів, за яку в нас є дані
  • Вивести продажі за останній день

Опрацювання даних

Тепер, коли маємо дані, давайте зробимо певний аналіз. Припустимо, що маємо такий список: sales_week = [1500, 2150, 1850, 2050, 1700]

Зробімо наступне:

  • Порахуймо суму продажів за тиждень
  • Знайдімо к-сть днів з низькими продажами (менше ніж 1800)
  • Знайдімо середній продаж за день

👨🏻‍💻 Live coding 2: Інтерактивний ввід даних

Давайте уявимо, що маємо завдання написати систему збору оцінок.

Програма має запитувати у користувача кілька значень і автоматично зберігати їх у список. В кінці, ми покажемо користувачу, що він ввів.

🔍 Ваше завдання

Ваше завдання буде об’єднувати в собі другий та третій Live Coding.

Ваша задача полягає в тому, аби написати програму, яка просить в користувача увести 5 оцінок. Ви маєте зберегти ці 5 оцінок у списку, після чого вивести на екран середній бал та кількість найвищих оцінок (ви можете використати 10 як найвищу оцінку).

Приклад роботи програми:

---Grades---
Please, enter grade 1: 9
Please, enter grade 2: 11
11 is not supported. Please, choose between 0 and 10.

Please, enter grade 2: 10
Please, enter grade 3: djfhdj
Invalid format, try again

Please, enter grade 3: 8
Please, enter grade 4: 7
Please, enter grade 5: 10

The mean grade is 8.8, and the number of top grades (10) is 2.