Created
June 17, 2015 19:18
-
-
Save fsjoyti/460f861475a8ef4a9320 to your computer and use it in GitHub Desktop.
Interactive Programming in Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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