Найти - Пользователи
Полная версия: Помогите решить задание для сынав щколу.
Начало » Python для новичков » Помогите решить задание для сынав щколу.
1
qiper08
Доброго времени суток. Сыну зали задание в 9 классе, смог в Гугле почти все найти кроме последнег пункта. Задание складывалось в том чтоб было 2 списка. 1 список с товаром в наличии, а второй тот который купили. Должна быть возможность премешениетоваров как с 1 на 2 список так и наоборот. В случае покупки товара количество в 2иске 2 должно обобразаться цифрой. Я сделал все и даже отображение цифры. Проблемма в том что она постоянно 0, а надо чтоб менялась на колличствотовара.
текст программы…..
[code python]from tkinter import *
root = Tk()
root.title('Покупки')
root.geometry('400x200+500+300')
def toSecond():
selectToSecond = lbox1.curselection()
for i in selectToSecond:
lbox2.insert(END, lbox1.get(i))
for i in reversed(selectToSecond):
lbox1.delete(i)
def toFirst():
selectToFirst = lbox2.curselection()
for i in selectToFirst:
lbox1.insert(END, lbox2.get(i))
for i in reversed(selectToFirst):
lbox2.delete(i)
lbox1 = Listbox(selectmode=EXTENDED)
for i in ["яблоко", "банан", "морковь", "хлеб", "молоко", "кофе", "ЧАЙ", "сахар", "чипсы", "конфеты"]:
lbox1.insert(0,i)
lbox1.pack(side=LEFT,anchor="c", padx=5, pady=5)
lbox2 = Listbox(selectmode=EXTENDED)
lbox2.pack(side=RIGHT,anchor="c", padx=5, pady=5)
f = Frame()
f.pack(side=LEFT, padx=10)
Button(f, text=">>>", command=toSecond, width=40).pack(fill=X)
Button(f, text="<<<", command=toFirst, width=40).pack(fill=X)
lab1 = Label(root, text = 'количество покупок:')
lab1.place(x = 150, y = 130)
lab2 = Label(root, text = lbox2.size())
lab2.place(x = 190, y = 150)

k = lbox2.size()
lab2.config(text = str(k))
root.mainloop()[/code]
Моя ошибка в последний 3 строка, подскажите плиз где ошибка. Заранее огромное спасибо.
py.user.next
Отступы где?
[code python]
Тут пиши код.
[/code]
AD0DE412
вам код бот писал?
qiper08
AD0DE412
вам код бот писал?
Код писал я сам, просто я в принцыпе далек от программирования.
Искал все в инете и что мог сваял. Последнее требование никак не могу получить, чтоб считало коллчество товара Размешен еина форуме я наверное не правильно сделал, это я не разобрался наверное потому что в торопях. Авслать фото какдолжно выглядетьполе?
 [code python]from tkinter import *
root = Tk()
root.title('Покупки')
root.geometry('400x200+500+300')
def toSecond():
    selectToSecond = lbox1.curselection()
    for i in selectToSecond:
        lbox2.insert(END, lbox1.get(i))
    for i in reversed(selectToSecond):
        lbox1.delete(i)
def toFirst():
    selectToFirst = lbox2.curselection()
    for i in selectToFirst:
        lbox1.insert(END, lbox2.get(i))
    for i in reversed(selectToFirst):
        lbox2.delete(i)
lbox1 = Listbox(selectmode=EXTENDED)
for i in ["яблоко", "банан", "морковь", "хлеб", "молоко", "кофе", "ЧАЙ", "сахар", "чипсы", "конфеты"]: 
    lbox1.insert(0,i)
lbox1.pack(side=LEFT,anchor="c", padx=5, pady=5)
lbox2 = Listbox(selectmode=EXTENDED)
lbox2.pack(side=RIGHT,anchor="c", padx=5, pady=5)
f = Frame()
f.pack(side=LEFT, padx=10)
Button(f, text=">>>", command=toSecond, width=40).pack(fill=X)
Button(f, text="<<<", command=toFirst, width=40).pack(fill=X)
lab1 = Label(root, text = 'количество покупок:')
lab1.place(x = 150, y = 130)
lab2 = Label(root, text = lbox2.size())
lab2.place(x = 190, y = 150)
k = lbox2.size()
lab2.config(text = str(k))
root.mainloop()[/code]
qiper08
фотка как должно выглядеть
py.user.next
Поправил код, чтобы число выводилось.
  
#!/usr/bin/env python3
 
from tkinter import *
 
root = Tk()
root.title('Покупки')
root.geometry('400x200+500+300')
 
def toSecond():
    selectToSecond = lbox1.curselection()
    for i in selectToSecond:
        lbox2.insert(END, lbox1.get(i))
    for i in reversed(selectToSecond):
        lbox1.delete(i)
    lab2.config(text=str(lbox2.size()))
 
def toFirst():
    selectToFirst = lbox2.curselection()
    for i in selectToFirst:
        lbox1.insert(END, lbox2.get(i))
    for i in reversed(selectToFirst):
        lbox2.delete(i)
    lab2.config(text=str(lbox2.size()))
 
lbox1 = Listbox(selectmode=EXTENDED)
for i in ["яблоко", "банан", "морковь",
          "хлеб", "молоко", "кофе",
          "ЧАЙ", "сахар", "чипсы",
          "конфеты"]:
    lbox1.insert(0,i)
lbox1.pack(side=LEFT,anchor="c", padx=5, pady=5)
 
lbox2 = Listbox(selectmode=EXTENDED)
lbox2.pack(side=RIGHT,anchor="c", padx=5, pady=5)
 
f = Frame()
f.pack(side=LEFT, padx=10)
 
Button(f, text=">>>", command=toSecond, width=40).pack(fill=X)
Button(f, text="<<<", command=toFirst, width=40).pack(fill=X)
 
lab1 = Label(root, text = 'количество покупок:')
lab1.place(x = 150, y = 130)
 
lab2 = Label(root, text = lbox2.size())
lab2.place(x = 190, y = 150)
 
k = lbox2.size()
lab2.config(text = str(k))
 
root.mainloop()
qiper08
py.user.next
Поправил код, чтобы число выводилось.
Спасибо огромное. Всего одна строка и все работает. Низкий земной поклон.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB