Введення
і виведення даних

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


Завдання:
скласти програму Касир, під час виконання якої комп’ютер буде виконувати такі дії:
а) повідомляти вартість одиниці товару (див. рисунок); 
б) запитувати кількість товару, що купується;
в) обчислювати вартість покупки;
г) повідомляти вартість покупки;
ґ) запитувати, скільки грошей дає покупець;
д) повідомляти решту.

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

Хід роботи

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

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

1. Завантажте модулі tkinter, messagebox.

2. Створіть вікно програми із заголовком Діалог із касиром.

3. Завершіть програму командою root.mainloop().

4. Створіть об’єкт lab1 класу Label для виведення назви товару та вартості одиниці товару.

5. Додайте ще два написи відповідно до рисунка.

6. Додайте віджети entry1, entry2 класу Еntry згідно з рисунком.

7. Розмістіть у вікні віджет btn класу Button:
btn = Button(root, text = 'Сплатити', command = btn_click)
btn.grid(row = 3, column = 0, columnspan = 2)

8. Організуйте діалог із касиром за таким планом:
а) у поля вводяться дані для розрахунку;
б) обчислюється вартість товару і різниця між сумою грошей і вартістю товару;
в) у діалоговому вікні виводиться повідомлення про решту грошей.
Для реалізації такого діалогу опишіть функцію btn_click():
def btn_click():
     a = float(entry1.get())
     a = a*15 
     b = float(entry2.get())
     c = b–a

     messagebox.showinfo('Ваша решта', str(c) + ' грн')

9. Збережіть файл із назвою Практична10.
Запустіть програму, проаналізуйте її роботу в неприпустимих ситуаціях (наприклад, сума менша за вартість покупки).
Додайте навколо віджетів вільний простір.

10. Додайте до опису функції btn_click() перевірку значення с:
if c<0: messagebox.showerror('Помилка', 'Недостатньо грошей!')
else: messagebox.showinfo('Ваша решта', str(c) + ' грн')

11. Змініть виведення повідомлення про решту так, щоб виводилася сума у гривнях і копійках (див. рисунок).

12. Помістіть у папку з файлом програми графічний файл із зображенням яблук.
Завантажте зображення до змінної my_image за допомогою функції PhotoImage:
my_image = PhotoImage(file = 'яблука.gif')
Додайте до вікна віджет lab4 класу Label, надавши атрибуту image значення змінної my_image.
lab4 = Label(root, image = my_image)
За допомогою методу grid() помістіть малюнок праворуч або нижче від решти віджетів.


Зробіть висновок: як організувати діалог користувача з комп’ютером із використанням модуля tkinter.