3. Програмування для ШI

3.4. Словники та умовні оператори. Лабораторна робота.

Словники

Словник (dictionary) — це структура даних у Python, яка дозволяє зберігати дані у вигляді пар "ключ-значення". Словники дуже зручні, коли потрібно швидко знайти значення за певним унікальним ключем.

Основні властивості словників:

  • Ключі повинні бути унікальними.
  • Ключами можуть бути лише незмінні типи даних (рядки, числа, кортежі).
  • Значення можуть бути будь-якими типами даних (списками, рядками, іншими словниками тощо).
  • Словники є змінюваними (mutable), тобто їх можна змінювати після створення.

Словник можна створити кількома способами. Один із найпоширеніших способів — використання фігурних дужок {} з парою "ключ:значення" всередині.

Приклад створення порожнього словника:

my_dict = {}

Приклад створення словника з даними:

student_grades = {
    'Alice': 95,
    'Bob': 85,
    'Charlie': 78
}

Тут ключами є імена студентів (рядки), а значеннями — їхні оцінки (цілі числа).

Операції зі словниками

Доступ до значення за ключем

# Щоб отримати значення за ключем, використовуйте квадратні дужки [].
print(student_grades['Alice'])  # Виведе: 95

Додавання та оновлення значень

# Щоб додати нову пару "ключ-значення" або оновити існуюче значення, 
# достатньо присвоїти нове значення ключу.
student_grades['David'] = 90  # Додаємо нового студента
student_grades['Alice'] = 98  # Оновлюємо оцінку Аліси

student_grades = {'Alice': 98, 'Bob': 85, 'Charlie': 78, 'David': 90}

Видалення елемента зі словника

# Використовуйте оператор del, щоб видалити елемент зі словника за ключем.
del student_grades['David']  # Видаляє David з словника

student_grades = {'Alice': 98, 'Bob': 85, 'Charlie': 78}

Умовні оператори

Умови в Python використовуються для прийняття рішень в залежності від виконання певних умов. Основна конструкція для цього — це оператор if. Він дозволяє перевірити логічний вираз, і якщо він істинний (True), виконується блок коду, що йде після нього. Для перевірки кількох умов можна використовувати elif, а для виконання дій, коли жодна з умов не виконана, використовується else. Логічні оператори, такі як andornot, дозволяють комбінувати умови для складніших перевірок. Наприклад:

age = 18
if age >= 18:
    print("Дорослий")
else:
    print("Неповнолітній")

Повний оператор if може містити також оператор elif:

x = 10
if x > 5:
    print("x більше 5")
elif x == 5:
    print("x дорівнює 5")
else:
    print("x менше 5")

Важливо дотримуватись правильного відступу, щоб програма виконувалась коректно.

Перевірка наявності ключа у словнику

# Щоб перевірити, чи є певний ключ у словнику, можна використовувати оператор in.
if 'Alice' in student_grades:
    print("Оцінка Аліси:", student_grades['Alice'])    
if 'David' in student_grades:
    print("Оцінка Девіда:", student_grades['David'])

Оцінка Аліси: 98


Лабораторна робота: Робота із словниками

Завдання 1: Створення словника

Створіть словник students_grades, який зберігає інформацію про студентів та їхні оцінки з математики. Словник має містити наступні дані:

СтудентОцінка
Оля92
Петро85
Іван88
Марія95

Ключами будуть імена студентів, а значеннями — їхні оцінки.

students_grades =

Виведіть оцінку Марії на екран.

Підказка: Згадайте синтаксис словників. Фігурні дужки використовуються щоб створити словник, а квадратні - щоб отримати значення по ключу. Використайте функцію print для виводу на екран.

Завдання 2: Додавання та оновлення даних у словнику

Додайте до словника ще одну студентку з ім'ям Анна та оцінкою 90.

Оновіть оцінку Петра на 89.

Виведіть словник після змін.

Завдання 3: Видалення елементів зі словника

Видаліть студента Івана зі словника.

Виведіть оновлений словник на екран.

Підказка: Використайте оператор del для видалення ключа із словника.

Завдання 4: Перевірка наявності ключа

Перевірте, чи є у словнику студентка з ім'ям Оля. Якщо так, виведіть її оцінку.

Якщо Ольги не знайдено, виведіть напис "Оцінка не знайдена".

Підказка: Використайте оператор if для перевірки, а else для виведення напису якщо умова не виконується.

Завдання 5: Підрахунок середньої оцінки

Використайте бібліотеку numpy для підрахунку середньої оцінки: створіть масив (np.array) з всіх оцінок, а потім викличте метод np.mean для підрахунку середньої оцінки.

Підказка: Всі значення словника (оцінки) у вигляді списку можна отримати за допомогою students_grades.values(), а перетворити їх на масив numpy можна так: np.array(students_grades.values())