[Tutor] Python GUI
David Merrick
merrickdav at gmail.com
Wed Jun 29 06:28:25 CEST 2011
# Guess My Number GUI
# Create a story based on user input
from tkinter import *
import random
class Application(Frame):
""" GUI application that creates a story based on user input. """
def __init__(self, master):
""" Initialize Frame. """
super(Application, self).__init__(master)
self.grid()
self.create_widgets()
def create_widgets(self):
""" Create widgets to get story information and to display story.
"""
# create instruction label
Label(self,
text = "Welcome to 'Guess My Number'!\n\nI'm thinking of a
number between 1 and 100.\nTry to guess it in as few attempts as possible."
).grid(row = 0, column = 0, columnspan = 2, sticky = W)
# create a label for body parts radio buttons
Label(self,
text = "Take a guess:"
).grid(row = 6, column = 0, sticky = W)
self.numberEnt = Entry(self)
self.numberEnt.grid(row = 6, column = 1, sticky = W)
# create a submit button
Button(self,
text = "Click to see if you got it",
command = self.testNumber
).grid(row = 7, column = 0, sticky = W)
self.numberTxt = Text(self, width = 75, height = 10, wrap = WORD)
self.numberTxt.grid(row = 8, column = 0, columnspan = 4)
def testNumber(self):
""" Fill text box with new story based on user input. """
# get values from the GUI
# create the story
guess = int(self.numberEnt.get())
tries = 1
while guess != the_number:
if guess > the_number:
number += "Lower..."
else:
number += "Higher..."
guess = int(self.numberEnt.get())
tries += 1
# display the text
self.numberTxt.delete(0.0, END)
self.numberTxt.insert(0.0, number)
number += "You guessed it! The number was" + the_number
number += "And it only took you " + tries + " tries!\n"
self.numberTxt.delete(0.0, END)
self.numberTxt.insert(0.0, number)
# main
number = ""
the_number = random.randint(1, 100)
root = Tk()
root.title("Mad Lib")
app = Application(root)
root.mainloop()
*Output*
Traceback (most recent call last):
File "I:\Python\programs\guess_my_ numberChapter10.py", line 60, in
<module>
number += "You guessed it! The number was" + the_number
NameError: name 'number' is not defined
Any ides??????????? Is my code going to work apart from this
problem?????????????
--
Dave Merrick
merrickdav at gmail.com
Ph 03 3423 121
Cell 027 3089 169
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110629/4057af9d/attachment.html>
More information about the Tutor
mailing list