Если хотите не задавать тупых вопросов, то нужно почитать для начала или Лутца или Самерфилда.
По вопросу.
from tkinter import *
def add (): #читает значение из ячейки (а)
c=a.get() #получение значения из ячейки (а)
return c # возврат значения программе... ЧТО ВОЗВРАЩАЕТ? Строку- правильно ли я думаю?
def by(y):
root.destroy()
root=Tk()
a=Entry(root,width=50) # Тут а - entry, которое имеет метод get
a.pack()
but=Button(root,width=5,height=5,bg='red',fg='white', text='Push')
but.bind('<Button-1>',add)
but.pack(side='left')
but=Button(root,width=5,height=5,bg='red',fg='white', text='By!!!')
but.bind('<Button-1>',by)
but.pack(side='right')
root.mainloop()
a=[] # Тут a - уже список у которого нет get и в помине
a.append(add()) # вызываете add, который пытается сделать get из списка у которого нет get и в помине
print(a)
Добавить
from tkinter import *
def add(a, result_list):
result_list.append(a)
def by(y):
root.destroy()
resulr_list = []
root=Tk()
a=Entry(root,width=50)
a.pack()
but=Button(root,width=5,height=5,bg='red',fg='white', text='Push')
but.bind('<Button-1>', lambda event: add(a, result_list))
but.pack(side='left')
but=Button(root,width=5,height=5,bg='red',fg='white', text='By!!!')
but.bind('<Button-1>',by)
but.pack(side='right')
root.mainloop()
print(result_list)