Skip to content

Instantly share code, notes, and snippets.

@fsjoyti
Created June 17, 2015 19:18
Show Gist options
  • Save fsjoyti/460f861475a8ef4a9320 to your computer and use it in GitHub Desktop.
Save fsjoyti/460f861475a8ef4a9320 to your computer and use it in GitHub Desktop.
Interactive Programming in Python
# Testing template for "Guess the number"
###################################################
# Student should add code for "Guess the number" here
# template for "Guess the number" mini-project
# input will come from buttons and an input field
# all output for the game will be printed in the console
import simplegui
import random
import math
secret_number = 0
numberofguesses = 0
num_range = 100
maxattempts = 7
# helper function to start and restart the game
def new_game():
# initialize global variables used in your code here
global secret_number
secret_number = random.randrange(0,num_range)
global numberofguesses
numberofguesses = 0
print "New game, Range is from 0 to ",num_range
print "Number of remaining guesses is ",maxattempts
print "\n"
# define event handlers for control panel
def range100():
# button that changes the range to [0,100) and starts a new game
global num_range
num_range = 100
global maxattempts
maxattempts = 7
new_game()
def range1000():
# button that changes the range to [0,1000) and starts a new game
global num_range
num_range = 1000
global maxattempts
maxattempts = 10
new_game()
def input_guess(guess):
global maxattempts
global numberofguesses
numberofguesses = numberofguesses + 1
number_of_remaining_guesses= maxattempts - numberofguesses
guess_number = int (guess)
print "Guess was ",guess_number
print "Number of remaining guesses",number_of_remaining_guesses
if (guess_number==secret_number and number_of_remaining_guesses==0):
print "Correct!\n"
new_game()
elif (guess_number == secret_number and number_of_remaining_guesses > 0):
print "Correct!\n"
new_game()
elif (guess_number < secret_number and number_of_remaining_guesses >0 ):
print "Higher!\n"
elif (guess_number > secret_number and number_of_remaining_guesses >0 ):
print "Lower!\n"
else:
print "You ran out of guesses.The number was ",secret_number
print "\n"
new_game()
# create frame
frame = simplegui.create_frame("Guess the number game", 200, 200)
# register event handlers for control elements and start frame
frame.add_button("Range is [0,100]",range100,200)
frame.add_button("Range is [0,1000]",range1000,200)
frame.add_input("Enter a guess",input_guess,200)
# call new_game
new_game()
# always remember to check your completed program against the grading rubric
frame.start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment