- Отримати посилання
- Електронна пошта
- Інші додатки
Приклад програми якщо впорались з 1 етапом
Етап 2. Програмування подій
Гра полягає у створенні написів різними кольорами. Гравцеві потрібно вибрати колір, яким написано текст. Складність полягає у тому, що текст - це теж назва кольору, але не того, яким написано цей текст.
Для гри потрібно імпортувати модулі малювання (tkinter), випадкових чисел (random) та графічного інтерфейсу (easygui)
Після створення полотна потрібно визначити список кольорів kolory. Бажано підібрати такі кольори, назви яких будуть відомі та зрозумілі гравцям, а також такі, що відрізняються між собою. Наприклад, не бажано включати у список такі схожі кольори, як brown та chocolate.
Для виведення тексту певного кольору на полотно використовується команда
canvas.create_text(x, y, text="Текст", fill="Колір", font="Times 25")
x, y - координати розміщення тексту
Times 25 - назва шрифту та розмір літер
Для надання гравцеві можливості вибрати колір, використаємо елемент кнопкового вибору:
user = easygui.buttonbox("Який колір тексту?", choices = kolory )
У змінній user зберігається відповідь користувача. Цю відповідь можна порівнювати з тим кольором, яким насправді написано текст (властивість fill текстового напису).
Гра має продовжуватись, генеруючи нові кольори та слова, допоки користувач не зробить помилки
Користувачеві пропонується вибір начинок для піци:
toppings= ['шинка','помідори','сир','перець','курка','ананас','кукурудза','печериці']
skladovi=easygui.multchoicebox('Оберіть додатки для піци',choices=toppings)
Залежно від обраних додатків, до базової ціни додається вартість окремих компонентів:
price=20
if 'помідори' in skladovi:
price+=8
Далі слід обрати розмір піци:
Залежно від обраного розміру, ціна множиться на відповідний коефіцієнт:
if size=='мала':
price *= 0.75
Після цього виводиться ціна вибраної піци:
easygui.msgbox(price)
Роботу надішліть на електронну адресу вчителя.
Урок: Зміна порядку елементів масиву (списку) Практична робота 6
Функція сортування
• пошук усіх елементів з певними властивостями;
• пошук першого елемента з певними властивостями;
• пошук останнього елемента з певними властивостями.
Існує декілька реалізацій цих алгоритмів пошуку — розглянемо
найбільш уживані, створивши програми до відповідних практичних
вправ.
Список - це cтруктура даних, яка зберігає набір елементів. У мові Python список може містити елементи різних типів, і не потрібно попередньо оголошувати розмір такого списку.
Доступ до окремих елементів списку здійснюється через вказання імені списку і порядкового номера (індекса) конкретного елемента у квадратних дужках. Варто пам'ятати, що нумерація починається з нуля. Можна також нумерувати елементи списку від'ємними числами (з кінця списку).
2. Розв'яжіть задачу в зошиті.
2. Розв'яжіть задачу в зошиті.
Задача 1. Сортування обміном. Метод "бульбашки”
Проходимо список стільки разів, скільки у ньому є елементів-1 Щоразу переглядаємо увесь список (крім останнього елемента) (можна до кінця відсортованої частини) При потребі міняємо елементи місцями for perebir in range(9): for nomer in range(9): if spysok[nomer]>spysok[nomer+1]: k=spysok[nomer] spysok[nomer]=spysok[nomer+1] spysok[nomer+1]=k Інший запис: spysok[nomer],spysok[nomer+1]=spysok[nomer+1],spysok[nomer]
Задача 2. Сортування вибором
Проходимо список стільки разів, скільки елементів-1
Щоразу знаходимо найменший елемент та його номер і міняємо його місцями з поточним
for perebir in range(9):
print(spysok[perebir:10])
fragment=spysok[perebir:10]
m=fragment.index(min(fragment))
k=m+perebir
spysok[k],spysok[perebir]=spysok[perebir],spysok[k]
print(spysok)
Інший запис (без функцій min та index)
for n in range(10):
m=spysok[n]
for nomer in range(n,10):
if m>=spysok[nomer ]:
m=spysok[nomer ]
a=nomer
k=spysok[n]
spysok[n]=spysok[a]
spysok[a]=k
print(spysok)
Задача 3. Сортування вставкою
Проходимо список стільки разів, скільки елементів, починаючи з другого
Записуємо елемент у допоміжну змінну, і проходимо список у зворотньому напрямку, поки не знайдемо правильне місце для елемента.
При цьому всі пройдені елементи зміщуються на 1
for perebir in range(10):
j = perebir - 1
element = spysok[perebir]
del spysok[perebir]
while (j >= 0) and (spysok[j] > element):
j = j-1
spysok.insert(j + 1, element)
print(spysok)
Інший спосіб (без функцій del та insert)
for n in range(1,10):
a=n
print(spysok[a])
while (spysok[a] > spysok[a-1]) and (a > =0):
k=spysok[a]
spysok[a]=spysok[a-1]
spysok[a-1]=k
a-=1
print(spysok)
Зміна порядку елементів
Додавання елементів до списку
spysok.append(k) - додає 1 елемент k у кінець списку
spysok.insert(n,k) - додає 1 елемент k всередину списку, на заданий номер n
spysok.extend(a,b,c) - додає кілька елементів a,b,c у кінець списку
Видалення елементів
letters.remove('c')
del letters[3]
lastLetter = letters.pop()
Пошук елемента у списку
'a' in letters
Номер елемента
letters.index('d')
max(spysok)
Номер найбільшого елемента
spysok.index(max(spysok))
Функції та методи сортування
Функції та методи - це вбудовані команди (послідовності команд, підпрограми), котрі застосовуються до об'єктів основної програми.
Функція - іменована послідовність команд, котра, як правило, має результат, котрий повертається в основну програму. Наприклад, sorted(spysok) . Функція має аргумент - назву списку, який пишеться в дужках. Функція повертає результат, але не змінює самого списку.
Метод - функція, котра використовується з об'єктами певного типу (класу). Першим формальним параметром є ім'я об'єкту. Наприклад, spysok.sort(). Метод застосовується до конкретного об'єкту (списку), і змінює його.
Наприклад, розглянемо початковий список
spysok=[1,5,2,8,4,0,6,8]
Якщо до цього списку застосуємо функцію sorted, то команда
print(sorted(spysok))
виведе впорядкований список. Але наступна команда
print(spysok)
дозволяє переконатись, що сортування відбулось лише під час друку, сам список залишився незмінний.
Якщо ж ми застосуємо метод sort(), то наступна команда друку дозволяє переконатись, що список тепер відсортовано.
spysok.sort()
print(spysok)
Щоб відсортувати у порядку спадання, можна вказати параметр reverse:
spysok.sort(reverse=True)
Урок 22. Пошук у масиві (списку) за певними критеріями
Урок 25. Алгоритми впорядкування масиву (списку)
- Отримати посилання
- Електронна пошта
- Інші додатки
Коментарі
Дописати коментар