from tkinter import * class Application(Frame): def __init__(self,master): super(Application,self).__init__(master) self.grid() self.create_widgets() def create_widgets(self): Label(self, text ="Добро пожаловать в игру 'Отгадай число'!" ).grid(row = 0,column = 0,sticky = W) Label(self, text = "Загадано число от 1 до 100" ).grid(row = 1,column = 0,sticky = W) Label(self, text = "Ваше предположение:" ).grid(row = 2,column = 0,sticky = W) self.guess_ent = Entry(self) self.guess_ent = Text(self,width = 3,height = 1,wrap = WORD) self.guess_ent.grid(row = 2,column = 1,sticky = W) self.submit_bttn = Button(self, text ="Ок", command = self.reveal) self.submit_bttn.grid(row = 2,column = 2,sticky = W) self.number = Text(self,width = 35, height = 5, wrap = WORD) self.number.grid(row = 4, column = 0, sticky = W) def reveal(self): import random number = random.randint(1,100) guess = self.guess_ent if guess == number: message = "Вы угадали!" elif guess > number: message = "Меньше" elif guess < number: message = "Больше" else: message = "Вы не угадали!" self.number.delete(0.0,END) self.number.insert(0.0,message) root = Tk() root.title("Отгдай число") root.geometry("300x100") app = Application(root) root.mainloop()
Exception in Tkinter callback
Traceback (most recent call last):
File “E:\Python\lib\tkinter\__init__.py”, line 1399, in __call__
return self.func(*args)
File “F:\number.py”, line 33, in reveal
elif guess > number:
TypeError: unorderable types: Text() > int().
Cама суть ошибки мне ясна, вопрос следующий: существует ли способ изменить тип получаемых данных с Text() на int(). Если же код в целом корявый и небрежный укажите, как правильно связать условный блок с графическим эффектом.Заранее благодарю.