Я пытаюсь выяснить ошибку, которая связана со сравнением вывода функции с целым числом:
Это код:
def qExit():
tkinter.messagebox.askyesno('Quit system', 'Do you want to quit?')
if qExit>0:
root.destroy()
return
Это ошибка, которую я получаю всякий раз, когда нажимаю кнопку Да в окне сообщения:
if qExit>0:
TypeError: '>' not supported between instances of 'function' and 'int'
Спасибо за помощь!
РБ






Да, потому что ответ, который вы получаете, будет в формате string, и вы не обрабатываете этот ответ.
Здесь, в вашем коде, вы не назначаете ответ какой-либо переменной и используете имя функции непосредственно при проверке условий. Вы буквально сравниваете "функцию" и "целое".
См. Ответ ниже:
def qExit():
MsgBox = tkinter.messagebox.askyesno('Quit system', 'Do you want to quit?')
if MsgBox > 0:
root.destroy()
else:
tkinter.messagebox.showinfo('Return', 'You will now return to the application screen')
Что вы собираетесь делать с
qExit>0?