Програмиране с Python - курс за начинаещи

Python програмиране за начинаещи: Цветове в платно

Всички видеоклипове от урока Програмиране с Python – курс за начинаещи

Готов ли си за предизвикателство в Python-програмирането? В това упражнение ще разшириш вече научения код от последното видео. В центъра на вниманието е, че не само ще нарисуваш кръг на Canvas, но също така ще присвоиш на кръга произволен цвят всеки път, когато кликнеш върху него. Нека да преминем през отделните стъпки и да разберем как можеш да го реализираш.

Най-важни аспекти

  • Ще научиш как да обработваш събития (Events) в GUI.
  • Ще разбереш как да използваш глобални променливи.
  • Ще научиш как се генерират произволни числа и как да ги използваш за избора на цветове.

Стъпка по стъпка ръководство

По-долу ще намериш стъпките, необходими за реализиране на програмирането на кръга и произволната промяна на цвета.

Разширяване на кода: Импортни необходими библиотеки

Започни с импортирането на необходимите библиотеки. Тъй като работиш с произволни числа, трябва да се увериш, че импортваш модула random, за да позволиш генериране на произволни числа.

Python програмиране за начинаещи: Цветове в Canvas

Създай Canvas с кръга

Първо, трябва да създадеш Canvas, в който да се рисува кръг. Увери се, че си дефинирал функцията draw_circle, която рисува кръга. Можеш да зададеш началния цвят за кръга.

Python програмиране за начинаещи: Цветове в платното

Кликни върху кръга: Вмъкване на bind-функция

Сега е време да позволиш взаимодействието. Това става чрез метода bind, с който можеш да свържеш кликването върху Canvas с функция. Наименувай функцията, която трябва да се извика, когато кликнеш върху Canvas.

Python програмиране за начинаещи: Цветове в платното

Реализирай функцията за смяна на цвета

Сега създай функцията was_clicked. Тук ще реализираш логиката, която ще се изпълнява при кликване върху Canvas. Нуждаеш се от глобална променлива, за да съхраниш текущия цвят. В началото задавай тази променлива на стандартен цвят, например зелен.

def was_clicked(event): global g_color

Тук се променя цветът

Генерирай произволни цветове

Сега използваш библиотеката random, за да избираш произволен цвят. В функцията was_clicked можеш да генерираш цели числа, които са свързани с различни цветове. Когато число между 1 и 4 се избира, ще зададеш съответния цвят.

Python програмиране за начинаещи: Цветове в Canvas

Покажи новия цвят в конзолата

За да провериш логиката на програмата, искаш да видиш кой цвят е бил кликнат. В този момент можеш да изведеш новия цвят в конзолата. Използвай функцията Print, за да направиш тази информация видима.

Активирай смяната на цвета в Canvas

Сега, след като логиката за смяна на цвета е готова, трябва да се увериш, че функцията draw_circle се извиква, за да нарисува кръга с новия цвят. Увери се, че тази функция се извиква в рамките на was_clicked.

Python програмиране за начинаещи: Цветове в Canvas

Проверка на цялата програма

Изпълни програмата си и кликни върху кръга в Canvas. Трябва да наблюдаваш как цветът се променя и новият цвят да се появи в конзолата. Експериментирай с това, за да видиш дали всичко работи както трябва.

Питон програмиране за начинаещи: Цветове в платното

Резюме – Програмиране на Python за начинаещи: Произволни цветове в Canvas

В това ръководство научи как да въведеш интерактивност в твоя Python проект, като накараш Canvas да реагира на кликвания и произволно да променя цвета на нарисувания кръг. Научил си основни техники за работа с глобални променливи и библиотеката random. С тези умения сега можеш да развиваш Python програмите си и да добавяш индивидуални функции.

Често задавани въпроси

Как мога да разширя функционалността?Можеш да добавиш допълнителни форми или да увеличиш броя на цветовете, от които да избираш.

Какво са глобални променливи?Глобалните променливи са променливи, които са дефинирани извън функция и са достъпни в рамките на функциите.

Как мога да импортна библиотеката random правилно?Използвай import random в началото на кода си.

Как мога да направя кръга по-голям или по-малък?Промени параметрите на функцията draw_circle, за да повлияеш на размера на кръга.