Tkinter - Проєкт "Піцерія"
Для онлайнової роботи скористаємось сервісом: https://repl.it/languages/
Також можна встановити середовище програмування на свій мобільний пристрій https://play.google.com/store/apps/details?id=ru.iiec.pydroid3&hl=uk
Розробити форму замовлення піци з різними начинками та різних розмірів:
Скористаємось заготовкою проекту:
from tkinter import * root = Tk() root.title("Найпростіше вікно") root.geometry("400x400") label = Label (root, text="Піцерія") label.pack()
Далі розміщуємо елементи інтерфейсу: прапорці з різними начинками.
taste = IntVar() checkbutton = Checkbutton (root, text = "помідори", variable = taste, onvalue = 1, offvalue = 0, width = 20) checkbutton.pack() taste2 = IntVar() checkbutton2 = Checkbutton (root, text = "сир", variable = taste2, onvalue = 1, offvalue = 0, width = 20) checkbutton2.pack() taste3 = IntVar() checkbutton3 = Checkbutton (root, text = "курка", variable = taste3, onvalue = 1, offvalue = 0, width = 20) checkbutton3.pack()
Зверніть увагу, кожен прапорець має окрему змінну (taste, taste2, taste3), у якій зберігається факт позначення чи не позначення цього прапорця. Доповніть проект наступними прапорцями для решти начинок (на власний розсуд).
Наступний тип елементів інтерфейсу для цього проекту - перемикачі.
size = IntVar() radio = Radiobutton (root, text = "мала", variable = size, value=1, width = 20) radio.pack() radio2 = Radiobutton (root, text = "середня", variable = size, value=2, width = 20) radio2.pack() radio3 = Radiobutton (root, text = "велика", variable = size, value=3, width = 20) radio3.pack()
Зверніть увагу, всі перемикачі "прив'язані" до однієї змінної size, у якій зберігається факт позначення чи не позначення перемикача цієї групи. У змінну size буде збережено число 1,2 чи 3, залежно від того, який перемикач позначено.
Розміщуємо кнопку для підрахунку вартості піци. Її клацання активує функцію pizza_price.
knopka=Button(root, text="Порахувати", command=pizza_price) knopka.pack()
Опис функції pizza_price потрібно розмістити на самому початку програми. Поки що у цій функції вказана базова ціна піци, яка виводиться у текстовий напис label
def pizza_price(): price=20 label.configure(text=str(price))
Далі потрібно обчислити вартість піци, залежно від обраних складових та розміру.
Вартість піци обчислюється за принципом: основа коштує 20 гривень, кожна начинка додає до вартості певну суму, якщо цю начинку позначено:
if taste.get()==1: price+=15
Таким же чином потрібно обробляти всі прапорці, розміщені на формі (taste2, taste3 і т.д.), і залежно від того, яка це начинка, до загальної вартості потрібно додавати певну суму.
Залежно від обраного розміру піци регулюється остаточна вартість. Якщо піца мала, то потрібно вартість помножити на коефіціент 0,75. Якщо велика, то навпаки, на 1,25.
if size.get()==1: price*=0.75