Повні розв’язки, як у зошиті. Хочеш розібратися самостійно — під кожним завданням є «Пояснення з репетитором».
Сторінка 162
Завдання 41
Порівняння прапорця та перемикача
Обговоріть у парі відмінності між створенням елементів керування «Прапорець» (Checkbutton) та «Перемикач» (Radiobutton) у Python. Наведіть два міркування (кількість змінних, характер вибору, реалізація в коді).
Розв’язання
Розгляньте визначення прапорця: кожен має власну змінну (`variable`), значення якої може бути 0 або 1 незалежно від інших.
Розгляньте визначення перемикача: всі елементи групи мають спільну змінну, і зміна стану одного автоматично змінює значення цієї змінної для всіх інших у групі.
Відповідь:
1) Кількість змінних: для прапорців потрібна окрема змінна для кожного елемента, для перемикачів — одна спільна змінна на групу. 2) Характер вибору: прапорець дозволяє обрати кілька пунктів одночасно, перемикач — лише один із доступних варіантів.
Завдання 42
Створення шаблонів для вибору
За матеріалами попереднього завдання створіть шаблони «Вікно з прапорцями» і «Вікно з перемикачами». Порівняйте коди програм у парі. Внесіть правки за потреби.
Розв’язання
Напишіть код для шаблону з прапорцями, оголошуючи дві змінні типу `IntVar` і передаючи їх відповідно до кожного елемента `Checkbutton`.
Напишіть код для шаблону з перемикачами, оголошує одну змінну типу `IntVar` (або `StringVar`) і передаючи її як аргумент `variable` для всіх трьох елементів `Radiobutton`.
Порівняйте отримані фрагменти коду: у першому випадку параметр `variable` має різні значення, у другому — одне й те саме для всієї групи.
Відповідь:
Шаблон з прапорцями містить декілька оголошень змінних (по одній на елемент), а шаблон з перемикачами — одну спільну змінну, яку використовують усі елементи групи.
Завдання 43
Програма «Світлофор» з кольорами
Створіть програму, у якій користувач обирає колір за допомогою перемикача (Варіант 1 — Червоний, Варіант 2 — Жовтий, Варіант 3 — Зелений), а натискання кнопки змінює колір фону вікна на обраний. Використайте напис, перемикачі та кнопку.
Розв’язання
Створіть вікно та оголосіть одну змінну типу `IntVar`, наприклад `color_var`.
Додайте три перемикачі з текстами «Червоний», «Жовтий», «Зелений» і прив'яжіть їх до однієї змінної `color_var` через параметр `variable`.
Створіть функцію-обробник, яка при виклику встановлює колір фону: якщо значення змінної дорівнює 1 — червоний, 2 — жовтий, 3 — зелений (або використайте `StringVar` для прямих назв кольорів).
Додайте кнопку і прив'яжіть її до функції-обробника. Запустіть програму та перевірте зміну кольору при виборі різних варіантів.
Відповідь:
Програма має вікно з трьома перемикачами для вибору кольору, кнопкою «Змінити колір» і функцією, яка змінює фон на червоний, жовтий або зелений залежно від натиснутого перемикача.