number guessing game python gui code example

Example: number guessing game python gui

# guess the number in a GUI

from tkinter import *
import random


class Application(Frame):
    ''' GUI guess the number application  '''
    def __init__(self, master):
        '''initialise frame'''
        super(Application, self).__init__(master)
        self.grid()
        self.create_widgets()


    def create_widgets(self):
        '''create widgets for GUI guess game'''
        #Create title label
        Label(self, text = 'Guess the number'
              ).grid(row = 0, column = 1, columnspan = 2, sticky = N)
        # create instruction labels
        Label(self, text = 'I am thinking of a number between 1 and 100'
              ).grid(row = 1, column = 0, columnspan = 3, sticky = W)

        Label(self, text = 'Try to guess in as few attempts as possible'
              ).grid(row = 2, column = 0, columnspan = 3, sticky = W)

        Label(self, text = 'I will tell you to go higher or lower after each guess'
              ).grid(row = 3, column = 0, columnspan = 3, sticky = W)
        # Create a label and number entry
        Label(self, text = 'Your guess: '
              ).grid(row = 4, column = 0, sticky = W)
        self.guess_ent = Entry(self)
        self.guess_ent.grid(row = 4, column = 1, sticky = W)
        # create label and text box for number of tries
        Label(self, text = ' number of tries: '
              ).grid(row = 5, column = 0, sticky = W)
        self.no_tries_txt = Text(self, width = 2, height = 1, wrap = NONE)
        self.no_tries_txt.grid(row = 5, column = 1, sticky = W)

        # create guess button

        Button(self, text = 'Guess', command = self.check_if_correct
               ).grid(row = 5, column = 2, sticky = W)

        self.result_txt = Text(self, width = 80, height = 15, wrap = WORD)
        self.result_txt.grid(row = 6, column = 0, columnspan = 4)

        # display the results
        #self.result_txt.delete(0.0, END)
        #self.result_txt.insert(0.0, display_result)
        #self.no_tries_txt.delete(0.0, END)
        #self.no_tries_txt.insert(0.0, the_number)

    def rnumber(self):
        self.rnumber = random.randint(1, 100)


    def check_if_correct(self):

        self.result = ""
        gnum = self.guess_ent.get()
        gnum = int(gnum)

        if gnum == self.rnumber:
            gnum = str(gnum)
            self.result = gnum + " is the magic number!\n"
        elif gnum < self.rnumber:
            gnum = str(gnum)
            self.result = gnum + " is too low.\n"
        elif gnum > self.rnumber:
            gnum = str(gnum)
            self.result= gnum + " is too high.\n"


    def giveResult(self):
        return str(self.result)


        # display the results
        self.result_txt.delete(0.0, END)
        self.result_txt.insert(0.0, result)
        #self.no_tries_txt.delete(0.0, END)
        #self.no_tries_txt.insert(0.0, the_number)


# main
root = Tk()
root.title('Guess the Number')
app = Application(root)
root.mainloop()

Tags:

Misc Example