Python-Tkinte r: TypeError: объект 'NoneType' не может быть подписан - PullRequest
0 голосов
/ 01 марта 2019

Я недавно пытаюсь закодировать Python-код на основе графического интерфейса для логического интерпретатора. Пожалуйста, помогите мне решить эту ошибку. Ниже приведен мой код в Python CODE:

def solve():

    strMinterms = app.minterms.get()
    strDontCare = app.dontcare.get()
    strVarNum   = app.varNum.get()
    getLists    = validate(strMinterms,strDontCare,strVarNum)

    if getLists !=False:
        app.min_exp.delete(0,END)
        app.min_imp.delete(0,END)

        answer = minimize(getLists[0],getLists[1],int(strVarNum))
        for i in answer:
            app.min_imp.insert(END,i)
        expr = format_minimized_expression(answer)
        for i in expr:
            app.min_exp.insert(END,i)
        else:
            messagebox.showerror("Bad input","Illegal values, please try again")


class App: 
    def __init__(self, master):
        frame = Frame(master)
        frame.pack(side=LEFT)

        Label(frame,text="variable Number :").grid(row=2,column=0,sticky=W)
        self.varNum = Entry(frame,bg="white")
        self.varNum.grid(row=2,column=1,sticky=W+E)

        Label(frame,text="minterms :").grid(row=0,column=0,sticky=W)
        self.minterms = Entry(frame,bg="white",width=35)
        self.minterms.grid(row=0,column=1,sticky=W)

        Label(frame,text="dontcare :").grid(row=1,column=0,sticky=W)
        self.dontcare = Entry(frame,bg="white",width=35)
        self.dontcare.grid(row=1,column=1,sticky=W)

        Label(frame,text="### Minimized Implicants ###").grid(row=3,column=1,sticky=W+E)
        self.min_imp=Listbox(frame,bg="white",height=8,width=4)
        self.min_imp.grid(row=4,column=1,sticky=W+E)

        Label(frame,text="### Solution ###").grid(row=5,columnspan=2,sticky=W+E)
        self.min_exp=Listbox(frame,bg="white",height=8,width=4)
        self.min_exp.grid(row=6,columnspan=2,sticky=W+E)

        self.solve = Button(frame, text="Solve", command=solve)
        self.solve.grid(row=7,columnspan = 2,sticky=W+E)

        self.button = Button(frame, text="QUIT", fg="red", command=frame.quit)
        self.button.grid(row=8,columnspan = 2,sticky=W+E)

root = Tk()
root.resizable(0,0)
root.title("Boolean Interpreter")
app = App(root)
root.mainloop()

Я не могу понять тип ошибкив этом коде, как после компиляции моего кода, я действительно отображал виджет, но когда я ввожу значения, он показывает ошибку, как указано ниже: И теперь я получаю ошибку, подобную этой:

ОШИБКА:

Исключение в обратном вызове Tkinter (последний последний вызов):

File "C:\Users\Vivek\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
  return self.func(*args)
File "D:\python\workspace\min\min.py", line 219, in solve
  answer = minimize(getLists[0],getLists[1],int(strVarNum))
TypeError: 'NoneType' object is not subscriptable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...