Напишите программу на языке Python, которая содержит два списковых окна. Первое окно будет содержать список товаров

  • 7
Напишите программу на языке Python, которая содержит два списковых окна. Первое окно будет содержать список товаров, определенных программно. Второе окно изначально пустое и будет содержать список покупок. При нажатии на первую кнопку товар должен перемещаться из одного окна в другое. При нажатии на вторую кнопку товар должен возвращаться обратно в исходное окно (в случае, если человек передумал покупать). Необходимо предусмотреть возможность выбора нескольких элементов списка и их перемещения.
Летающий_Космонавт_6982
40
Конечно! Вот полная программа на языке Python, которая решает данную задачу:

python
import tkinter as tk

def move_to_cart():
selected_items = list(product_listbox.curselection())
for i in selected_items[::-1]:
cart_listbox.insert(tk.END, product_listbox.get(i))
product_listbox.delete(i)

def move_back():
selected_items = list(cart_listbox.curselection())
for i in selected_items[::-1]:
product_listbox.insert(tk.END, cart_listbox.get(i))
cart_listbox.delete(i)

root = tk.Tk()
root.title("Список покупок")

# Создаем списковые окна
product_frame = tk.Frame(root)
product_frame.pack(side=tk.LEFT, padx=10)

product_label = tk.Label(product_frame, text="Список товаров:")
product_label.pack()

product_listbox = tk.Listbox(product_frame, selectmode=tk.MULTIPLE)
product_listbox.pack()

cart_frame = tk.Frame(root)
cart_frame.pack(side=tk.LEFT, padx=10)

cart_label = tk.Label(cart_frame, text="Список покупок:")
cart_label.pack()

cart_listbox = tk.Listbox(cart_frame, selectmode=tk.MULTIPLE)
cart_listbox.pack()

# Создаем кнопки
button_frame = tk.Frame(root)
button_frame.pack(pady=10)

move_to_cart_button = tk.Button(button_frame, text="Добавить в корзину", command=move_to_cart)
move_to_cart_button.pack(side=tk.LEFT, padx=5)

move_back_button = tk.Button(button_frame, text="Вернуть обратно", command=move_back)
move_back_button.pack(side=tk.LEFT, padx=5)

# Добавляем товары в первое окно
products = ["Молоко", "Яйца", "Хлеб", "Мясо", "Овощи", "Фрукты"]
for product in products:
product_listbox.insert(tk.END, product)

root.mainloop()


В этой программе мы используем библиотеку `tkinter` для создания графического интерфейса.

Сначала мы создаем два списка - `product_listbox` для списка товаров и `cart_listbox` для списка покупок. Мы также создаем две рамки - одну для каждого списка.

Затем мы создаем две функции: `move_to_cart()` и `move_back()`. При нажатии на кнопку "Добавить в корзину", функция `move_to_cart()` перемещает выбранные товары из `product_listbox` в `cart_listbox`. При нажатии на кнопку "Вернуть обратно", функция `move_back()` перемещает выбранные товары из `cart_listbox` обратно в `product_listbox`.

Затем мы создаем кнопки "Добавить в корзину" и "Вернуть обратно" и привязываем их к соответствующим функциям.

Наконец, мы добавляем предварительно определенные товары в `product_listbox`, чтобы начать с некоторых товарами.

Это полная программа на языке Python, которая решает задачу о списках товаров и покупок с перемещением товаров между окнами.