Практична робота № 10.Проєкти з полем, з уведенням даних і виведенням результатів. Виконати в Python.
Ответы
Відповідь:
1. Математична модель:
Вхідні дані: сума грошей, яку отримала Марійка, ціна 400 г печива, ціна одного пакету молока і кількість пакетів молока, які потрібно купити, ціна хліба.
Кінцеві результати: сума грошей, яка залишиться у Марійки після покупки усіх товарів.
Формули:
загальна сума витрат = ціна печива + (ціна одного пакету молока * кількість пакетів молока) + ціна хліба;
сума грошей, яка залишиться = сума грошей, яку отримала Марійка - загальна сума витрат.
2. Компоненти на формі:
1) Мітка (label) "Сума грошей, яку отримала Марійка"
2) Поле введення (entry) для введення суми грошей, яку отримала Марійка;
3) Мітка "Ціна 400 г печива"
4) Поле введення для введення ціни 400 г печива
5) Мітка "Ціна одного пакету молока"
6) Поле введення для введення ціни одного пакету молока
7) Мітка "Кількість пакетів молока"
8) Поле введення для введення кількості пакетів молока
9) Мітка "Ціна хліба"
10) Поле введення для введення ціни хліба
11) Кнопка (button) "Обчислити"
12) Мітка "Сума грошей, яка залишиться у Марійки".
3. Обробник:
def calculate():
# Отримання вхідних даних
money = float(money_entry.get())
cookie_price = float(cookie_price_entry.get())
milk_price = float(milk_price_entry.get())
milk_qty = int(milk_qty_entry.get())
bread_price = float(bread_price_entry.get())
# Обчислення залишку грошей
total_expenses = cookie_price + (milk_price * milk_qty) + bread_price
remaining_money = money - total_expenses
# Виведення результату
remaining_money_label.config(text=f"Сума грошей, яка залишиться: {remaining_money}")
4. Повний код:
import tkinter as tk
def calculate():
# Отримання вхідних даних
money = float(money_entry.get())
cookie_price = float(cookie_price_entry.get())
milk_price = float(milk_price_entry.get())
milk_qty = int(milk_qty_entry.get())
bread_price = float(bread_price_entry.get())
# Обчислення залишку грошей
total_expenses = cookie_price + (milk_price * milk_qty) + bread_price
remaining_money = money - total_expenses
# Виведення результату
remaining_money_label.config(text=f"Сума грошей, яка залишиться: {remaining_money}")
# Створення графічного інтерфейсу
root = tk.Tk()
root.title("Обчислення залишку грошей")
money_label = tk.Label(root, text="Сума грошей, яку отримала Марійка:")
money_label.grid(row=0, column=0)
money_entry = tk.Entry(root)
money_entry.grid(row=0, column=1)
cookie_price_label = tk.Label(root, text="Ціна 400 г печива:")
cookie_price_label.grid(row=1, column=0)
cookie_price_entry = tk.Entry(root)
cookie_price_entry.grid(row=1, column=1)
milk_price_label = tk.Label(root, text="Ціна одного пакету молока:")
milk_price_label.grid(row=2, column=0)
milk_price_entry = tk.Entry(root)
milk_price_entry.grid(row=2, column=1)
milk_qty_label = tk.Label(root, text="Кількість пакетів молока:")
milk_qty_label.grid(row=3, column=0)
milk_qty_entry = tk.Entry(root)
milk_qty_entry.grid(row=3, column=1)
bread_price_label = tk.Label(root, text="Ціна хліба:")
bread_price_label.grid(row=4, column=0)
bread_price_entry = tk.Entry(root)
bread_price_entry.grid(row=4, column=1)
calculate_button = tk.Button(root, text="Обчислити", command=calculate)
calculate_button.grid(row=5, column=0, columnspan=2)
remaining_money_label = tk.Label(root, text="Сума грошей, яка залишиться:")
remaining_money_label.grid(row=6, column=0, columnspan=2)
root.mainloop()
4. Зберігаємо та запускаємо проект. (Приклад виконання програми на закріплених фото (до і після обчислення).