Інформація про новину
  • Переглядів: 448
  • Дата: 2-02-2022, 08:54
2-02-2022, 08:54

31. Опрацювання елементів списку в Python

Категорія: Інформатика





Попередня сторінка:  30. Функції та методи списків в Python
Наступна сторінка:   32. Алгоритми впорядкування масиву в Pyth...

Розв’язування багатьох прикладних задач, що потребують виконання дій над елементами, значення або індекс яких відповідає заданій умові, базується на типових алгоритмах опрацювання списків, які передбачають послідовний перегляд елементів списку і виконання певних дій із кожним елементом.

Опрацювання елементів списку

Якщо потрібно виконати дії тільки над елементами списку, що мають задану ознаку, слід послідовно перебрати елементи списку і перевірити кожний елемент на відповідність певній умові. Опрацювання елементів списку зручно виконувати в циклі, де параметр циклу послідовно набуває значень елементів списку або їх індексів.

Розглянемо це на прикладі виведення списку на екран:

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

Перебрати всі наявні в списку елементи. Застосовується, коли не потрібно змінювати значення елементів списку

Типові алгоритми опрацювання елементів списку

Заміна значень усіх елементів списку

Алгоритм розв’язування задачі: послідовно перебрати всі елементи списку і значення чергового елемента змінити за певним правилом (наприклад, змінити знак елементів на протилежний, надати всім елементам нульові значення, збільшити значення всіх елементів на певну величину).

ПРИКЛАД 1. Подвоїти значення елементів списку а = [2, 5, 14, 62, -5].

# Список набуває значення а = [4, 10, 28, 124, -10]

Заміна значень із перевіркою умови Алгоритм розв’язування задачі: послідовно перебрати всі елементи списку; якщо черговий елемент відповідає деякій умові, його значення змінити за певним правилом. Як умова може перевірятися значення елемента списку на кратність деякому числу, додатність, рівність нулю тощо. Може перевірятися також і значення індексу елемента списку (наприклад, змінюються елементи, що стоять на парних місцях).

ПРИКЛАД 2. Поділити на 2 парні елементи списку а = [2, 5, -14, 62, -5].

# Список набуває значення а = [1, 5, 7, 31, -5]

ПРИКЛАД 3. Елементи списку а = [2, 5, 14, 62, -5], що мають парні індекси, замінити нулем.

# Буде надруковано [0, 5, 0, 62, 0]

ПРИКЛАД 4. Визначити кількість додатних елементів списку а = [2, 5, 14, 62, -5].

# Лічильник елементів із заданою властивістю

# Буде надруковано k = 4

Визначення найбільшого (найменшого) елемента списку Хоча Python має вбудовані функції max(list), min(list), потрібно розуміти сутність алгоритму пошуку найбільшого (найменшого) елемента списку.

Алгоритм розв’язування задачі: припустити, що найбільшим є нульовий елемент списку, після чого послідовно перебрати елементи масиву,

починаючи з другого; якщо черговий елемент більший за максимальний, його значення запам’ятати як максимальне.

# Змінна для збереження найбільшого значення елемента

# Змінна для збереження індексу найбільшого елемента # Перебираємо елементи, починаючи з

першого

# Якщо і-й елемент більший за mx,

# значення mx замінюється на значення а[і];

# у змінній k запам’ятовується значення індексу і

Обчислення суми (добутку) елементів із заданою властивістю

ПРИКЛАД 5. Знайти суму додатних елементів списку а = [2, -3, 1, 6, -5].

# Змінна для збереження значення суми

# Буде надруковано suma = 9

ПРИКЛАД 6. Знайти добуток ненульових елементів списку а = [2, 0, 2, 6, 0].

# Змінна для збереження значення суми

# Буде надруковано dobutok = 24

Користуючись типовими алгоритмами опрацювання значень елементів списків, ви зможете створювати ефективні алгоритми розв’язування більш складних прикладних задач.

Питання для самоперевірки

1. Дано список а = [3, 8, 5, 7, 6]. Виконайте дії з елементами списку.

2. Дано список а = []. Запишіть оператори для реалізації таких завдань:

а) ввести з клавіатури значення елементів списку;

б) знайти добуток елементів списку;

в) знайти мінімальний елемент списку;

г) знайти кількість додатних елементів списку.

3. Створіть список nazva, який містить назви 5 країн світу. Сформуйте з елементів списку nazva і виведіть на екран речення за зразком: Україна, Польща, Німеччина — це назви країн.

4. Складіть програму для виконання завдання: список numbers заповнено 50 випадковими числами в межах 100. Визначте, скільки елементів списку відрізняються від останнього елемента.

Вправа 31

Створити програму Календар нагляду за погодою. Проаналізувати список значень середньодобових температур за березень.

1) Завантажте модуль random. Створіть порожній список t і додайте до списку 31 випадкове число в діапазоні можливих березневих температур. Виведіть список на екран.

2) Запишіть код для підрахунку кількості днів, коли температура була вище нуля. Виведіть знайдене значення з відповідним поясненням:

print (k, ’днів температура була вище 0’)

3) Визначте число стрибків температур (сусідства двох чисел різних знаків):

4) Встановіть дату найнижчої температури, виведіть знайдене значення.

5) Встановіть різницю між найменшим і найбільшим значеннями температур.

6) Знайдіть середнє значення температури за місяць. Виведіть дати, коли температура відрізнялася від середньомісячної не більше ніж на 10° С.

Комп’ютерне тестування

Виконайте тестове завдання 31 з автоматичною перевіркою результату.

 

 

Це матеріал з підручника Інформатика 9 клас Бондаренко 2022

 




Попередня сторінка:  30. Функції та методи списків в Python
Наступна сторінка:   32. Алгоритми впорядкування масиву в Pyth...



^