You are on page 1of 4

Код використовує модуль turtle у Python, який дозволяє малювати графіки та

фігури на екрані. 1.from turtle import *: Цей рядок імпортує всі функції та
об'єкти, необхідні для роботи з модулем turtle.
2. color('red'): Цей рядок задає колір для ліній, що будуть намальовані на
екрані. У даному випадку, колір вибраний червоний.
3. width (2): Цей рядок задає товщину ліній, що будуть намальовані на екрані.
У даному випадку, товщина вибрана 2 пікселі.
4. for i in range(1, 10000, 4):: Цикл for виконується для кожного значення i в
діапазоні від 1 до 10000 з кроком 4. Тобто, цикл виконується з інтервалом 1,
5, 9, 13 і т.д.
5. forward(i): Цей рядок переміщує курсор (черепашку) вперед на відстань i
пікселів.
6. left (90): Цей рядок повертає курсор (черепашку) наліво на 90 градусів.
Отже, код малює червону квадратну спіраль, де кожен бічний сторін
квадрата на 4 пікселі довший за попередній. Завдяки циклу for квадрат
спіралі продовжується до 10000 пікселів.
Цей код знаходить усі унікальні комбінації, обчислення яких = 1000
1. x = 1: Цей рядок встановлює змінну x на 1.
2. while x <= 9:: Цей рядок починає цикл while, який виконується, поки
значення x менше або дорівнює 9.
3. y = 1: Цей рядок встановлює змінну y на 1 перед кожним виконанням
внутрішнього циклу.
4. while y <= 19:: Цей рядок починає другий внутрішній цикл while, який
виконується, поки значення y менше або дорівнює 19.
5. z = 1: Цей рядок встановлює змінну z на 1 перед кожним виконанням
найвнутрішнього циклу.
6. while z <= 99:: Цей рядок починає найвнутрішній цикл while, який
виконується, поки значення z менше або дорівнює 99.
7. cost = 100 * x + 50 * y + 10 * z: Цей рядок виконує обчислення загальної
суми
8. if cost == 1000:: Цей рядок перевіряє, чи дорівнює загальна сума тисячі
9. print("x=", x, "; y=", y, "; z=", z): Якщо загальна сума дорівнює 1000 , то
цей рядок виводить комбінацію цін на екран.
10.z += 1: Цей рядок збільшує значення z на 1 перед кожним наступним
виконанням циклу.
11.y += 1: Цей рядок збільшує значення y на 1 перед кожним наступним
виконанням циклу.
12.x += 1: Цей рядок збільшує значення x на 1 перед кожним наступним
виконанням циклу. Цикл продовжується, поки змінна x досягне
значення 9, після чого програма закінчить роботу.
Отже коли програма виконується вона перебирає всі можливі комбінації
значень x y z, які можуть викристовуватися для обчислення. Якщо загальна
сума дорівнює 1000, програма виводить комбінацію на екран

1. from tkinter import * - імпорт модуля tkinter. З символом * імпортуються всі


класи та функції, доступні в модулі.
2. import tkinter.messagebox - імпорт класу messagebox з модуля tkinter.
Використовується для виведення повідомлень користувачу.
3. def button_click(): - визначення функції button_click(). Викликається при
натисканні на кнопку Визначити .
4. s = 1 - ініціалізація змінної s зі значенням 1.
5. i = 1 - ініціалізація змінної i зі значенням 1.
6. st = str_var.get() - отримання значення з поля введення та збереження його у
змінній st.
7. k = int(st) - конвертація значення st до цілочисельного типу та збереження у
змінній k.
8. while i <= 10: - цикл, що повторюється доти, поки змінна i не перевищить 10.
9. s += (i - 1) * 1 - додавання до змінної s добутку (i - 1) * 1.
10. i += 2 - збільшення значення змінної i на 2.
11. if k <= s: - перевірка, чи значення змінної k менше або дорівнює значенню
змінної s.
12. tkinter.messagebox.showinfo("Результат", "Встигне отримати " + str(s)) - виведення
повідомлення з результатом роботи програми в разі, якщо k <= s.
13. tkinter.messagebox.showinfo("Результат", "Не встигне отримати") - виведення
повідомлення з результатом роботи програми в разі, якщо k > s.
14. window = Tk() - створення головного вікна програми.
15. str_var = StringVar() - створення об'єкту типу StringVar для збереження значення
з поля введення.

Далі створюється елемент Entry, який дозволяє користувачу ввести значення для
обчислення. В якості аргументу конструктора передається вікно, в якому елемент
буде розміщено, і об'єкт StringVar, який буде зв'язаний з текстовим полем вводу.
Після створення об'єкту Entry, він розміщується на вікні за допомогою методу
pack().

Останнім кроком є створення кнопки, яка буде викликати функцію обчислення


після того, як користувач введе потрібні дані. . В якості аргументів конструктора
передаються вікно, в якому кнопка буде розміщено, текст, який буде відображено
на кнопці, та функція, яка буде викликатися при натисканні кнопки. Функція
button_click() буде викликана при натисканні на кнопку, і буде виконувати необхідні
обчислення.

Після створення об'єкту Button, він розміщується на вікні за допомогою методу


pack(). Після цього вікно запускається в бескінечному циклі за допомогою методу
mainloop(). Він забезпечує те, що вікно буде відображено і користувач може з ним
взаємодіяти.

You might also like