python 3.x - TypeError: unorderable types: int() > Guessing_game() -


i studying python , trying make guessing number program connected gui. however, there bug , don't know how fix, please me.

my code

from tkinter import* import random  class application(frame):      def __init__(self, master):         super(application, self).__init__(master)         self.grid()         self.widgets()         self.answer = guessing_game(starting_number = 0,                                     ending_number = 100)      def widgets(self):          label(self,               text = "hello welcome new_version of guess number!"               ).grid(row = 0, column = 0, sticky = w)          label(self,               text = "guess number(0-100):"               ).grid(row = 1, column = 0, sticky = w)          self.user_answer = entry(self)         self.user_answer.grid(row = 1, column = 1, sticky = w)          button(self,                text = "submit",                command = self.submit                ).grid(row = 3, column = 0, sticky = w)          self.txt = text(self, width = 50, height = 20, wrap = word)         self.txt.grid(row = 4, column = 0, columnspan = 4, sticky = w)      def submit(self):          user_answer = self.user_answer.get()              if user_answer != none:            int(user_answer)          if int(user_answer) not in range(101):             self.txt.delete(0.0, end)             self.txt.insert(0.0, "your guess not in proper range")         elif int(user_answer) > self.answer:             self.txt.delete(0.0, end)             self.txt.insert(0.0, "your guess higher answer")         elif int(user_answer) < self.answer:             self.txt.delete(0.0, end)             self.txt.insert(0.0, "your guess lower answer")         else:             self.txt.delete(0.0, end)             self.txt.insert(0.0, "your guess right! number is", self.answer)  class guessing_game(object):     def __init__(self, starting_number, ending_number):         self.answer = random.randint(starting_number,ending_number)      def __str__(self):         return self.answer #main root = tk() app = application(root) root.mainloop() 

and error is

exception in tkinter callback traceback (most recent call last):
file "c:\python31\lib\tkinter__init__.py", line 1399, in call return self.func(*args) file "d:/python/practice/guess_my_number(gui).py", line 43, in submit elif int(user_answer) > self.answer: typeerror: unorderable types: int() > guessing_game()

how can convert guessing game() object int(), can compare object , int?

it tells error is, comparing object integer. instead should reference variable inside object

if int(user_answer) > self.answer.answer:     ... 

might want consider fixing naming this. or consider if need class. additionally __str__ method incorrect, return value needs string whereas trying return integer (you can see if try print(guessing_game(0, 100))

the following doesn't quite think

if user_answer != none:     int(user_answer) 

user_answer string since getting value entry widget.

instead want

# check if string number if not user_answer.isdigit():     # error message     return # prevent trying else 

you need reassign result of int(user_answer) since doesn't modify variable nothing ( unless encounters error )

user_answer = int(user_answer) 

Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -