Розробка застосунку «Відгадай загадку»

ПРАКТИЧНА РОБОТА 18


Завдання:
скласти програму, яка пропонує користувачеві / користувачці розгадати кілька загадок. Програма повинна почергово задавати загадки, пропонувати варіанти та перевіряти правильність відповідей.

Обладнання: комп’ютер із середовищем програмування Python.

Хід роботи

Під час роботи за комп’ютером дотримуйтеся правил безпеки.

У Python IDLE виберіть команду File New File.

1. Запишіть команду завантаження модуля easygui:
from easygui import*

2. Створіть список riddles, елементами якого є тексти загадок:
riddles = ['Фарбоване коромисло над річкою зависло. Що це?',
                    'Біла рілля, чорне насіння. Хто його вміє, той і розуміє.
                    Хто його знає, той і позбирає.',
                    'Чорний Іван, дерев’яний каптан: де носом проведе, там помітку кладе.', 
                    'І червона, й соковита, та гірка вона все літо.
                    Припече мороз – вона стала добра і смачна.'] 

3. Створіть список answer, елементами якого є відповіді на загадки:
answer=['Веселка', 'Книжка', 'Олівець', 'Kалина']

4. Знайдіть в інтернеті зображення, що відповідають змісту загадок.
Збережіть їх у файлах у форматі GIF у вашій папці.
Пам’ятайте, що графічні файли повинні міститися в одній папці з файлом програми.

5. Створіть список pictures, елементами якого є назви графічних файлів:
pictures=['Веселка.GIF', 'Книжка.GIF', 'Олівець.GIF', 'Калина.GIF']

6. Створіть змінну — лічильник правильних відповідей:
bal = 0

7. У списку чотири загадки, тому в циклі for i in range(4): запрограмуйте такі дії:
• створити діалогове вікно buttonbox, у якому виводиться текст загадки та пропонуються варіанти відповіді;
• присвоїти змінній puzzle значення, що повертає функція buttonbox;
• перевірити, чи дорівнює значення змінної puzzle відповідному елементу списку answer і створити діалогове вікно з повідомленням про правильність відповіді.
for i in range(4):
     puzzle = buttonbox(riddles[i], 'Загадка', answer)
     if(puzzle == answer[i]):
          msgbox('Молодець! Це ' + puzzle, 'Ваша відповідь', 'ok', pictures[i])
          bal = bal+1
     else:
          msgbox('Ні, це не ' + puzzle, 'Ваша відповідь')

8. У змінній message збережіть текст повідомлення про результат:
message = 'Правильних відповідей – ' + str(bal)

9. Створіть діалогове вікно для виведення повідомлення message:
msgbox(message, 'Твій результат', 'OK')

10. Додайте до списків тексти ще декількох загадок і відповідей на них.
Внесіть до програмного коду відповідні зміни.

11. Збережіть файл із назвою Pract18.
Випробуйте програму.

12. Проаналізуйте результати (див. слайд-шоу).


Зробіть висновок: як можна створити функції для підзадач основної задачі.