Інформація про новину
  • Переглядів: 1537
  • Дата: 5-02-2022, 15:30
5-02-2022, 15:30

36. Сортування масивів в Python

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





Попередня сторінка:  35. Пошук елементів у масиві в Python. Розв...
Наступна сторінка:   37. Сортування масивів методом вибору в...

У даному параграфі ми розглянемо, як здійснити сортування елементів списків. Елементи списку можуть бути впорядковані за зростанням та за спаданням. Приклад різних способів сортування списку наведено в таблиці 36.1.

Як і більшість сучасних мов програмування, Python має стандартний метод сортування списків sort. На рис. 36.1 наведено приклад використання даного методу:

Для сортування в протилежному порядку для даного методу використовують параметр reverse, що встановлює порядок сортування. Значення True вказує на сортування за спаданням, False — за зростанням. Отже, за умовчанням цей параметр має значення False. На рис. 36.2 наведено приклад сортування списку за спаданням.

Розглянемо використання методу sort при розв’язанні задач.

ВПРАВА 36.1

Завдання. Дано список середніх балів 14 учнів, що визначаються дійсним випадковим числом, заданим у діапазоні [4:12] балів.

Впорядкуйте та виведіть середні бали учнів за рейтингом (від найбільшого до найменшого).

До класу приєднайте ще n учнів із середнім балом, що має ввести користувач, та додайте нові результати учнів до списку.

Виведіть усі результати за рейтингом.

1. Імпортуйте модуль random та додайте команду створення порожнього списку grade.

2. Створіть масив, що має список середніх балів 14 учнів, що визначаються дійсним випадковим числом у діапазоні [4:12] балів.

3. Додайте команду виведення даного списку.

4. Додайте команду сортування списку за спаданням:

5. Додайте команду виведення відсортованого списку.

6. Додайте результати нових учнів:

7. Додайте команду сортування нового списку за спаданням та виведення даного списку.

8. Запустіть програму та перевірте правильність її виконання.

ВПРАВА 36.2

Завдання. Дано список учасників олімпіади та їхні результати. У третьому списку вивести переможців олімпіади в алфавітному порядку та їхні результати в наступному форматі: прізвище-результат (рис. 36.3).

1. Завантажте файл-заготовку Вправа_36_2.ру із матеріалів до даного параграфа.

2. Запустіть програму на виконання та проаналізуйте її програмний код.

3. Додайте команди обробника події натиснення кнопки Переможці олімпіади.

а. Уведіть заголовок обробника події:

b. Додайте команду створення порожнього масиву rez.

c. Додайте оператор циклу для 12 ітерацій:

d. У тілі циклу сформуйте умову: якщо результат учасника більший за середній бал, то до списку rez додати елемент у форматі прізви-ще-результат:

e. Додайте команду сортування списку rez в алфавітному порядку.

f. Додайте команду визначення розмірності списку rez. Результат надайте змінній size.

g. Додайте команди виведення масиву rez до елемента керування Lbox_rez.

4. Додайте команду виклику обробника події в конструкторі кнопки.

5. Запустіть програму та перевірте правильність її виконання.

ВПРАВА 36.3

Дано масив а, що містить 20 цілих випадкових чисел з проміжку [1;10]. Виділіть з даного масиву масив b, що містить перші 10 елементів масиву а, та масив с, що містить останні 10 елементів масиву а. Впорядкуйте масив b за зростанням, а масив с за спаданням. Виведіть відсортовані масиви.

Контрольні запитання та завдання

1. З допомогою якого методу можна відсортувати списки?

2. Наведіть приклад списку, а також результат його сортування за зростанням та за спаданням.

3. Як виконати сортування списку за спаданням?

Питання для роздумів

1*. Як ви думаєте, чи можливо з використанням методу sort у вправі 36.2 виконати сортування учасників олімпіади за їхніми результатами і вивести відсортований список у форматі результат-прізвище?

2. Визначте значення елементів списків, одержаних у результаті виконання фрагментів програм:

Завдання для досліджень

1*. Дізнайтеся про можливості використання методу sorted.

 

 

Це матеріал з підручника Інформатика 9 клас Казанцева, Стеценко 2022

 




Попередня сторінка:  35. Пошук елементів у масиві в Python. Розв...
Наступна сторінка:   37. Сортування масивів методом вибору в...



^