The following weeks mini-project was starting to get a bit trickier.
A simple game called, "Guess the number"

[sourcecode language="python" wraplines="false" collapse="false"]
# http://www.codeskulptor.org/#user38_p561LbO9KO_0.py
# http://www.codeskulptor.org/#user38_SeTv0Tz7E7nAlil_11.py

# Mini-project #2 - "Guess the number game"
# Created by Mpho "!nerd" Mphego - Marion Island SANSA Engineer 2014-2015
#
# 'Introduction to Interactive Programming in Python' Course
# RICE University - https://class.coursera.org/interactivepython-005
# by Joe Warren, John Greiner, Stephen Wong, Scott Rixner
# One of the simplest two-player games is “Guess the number”
# The first player thinks of a secret number in some known range while
# the second player attempts to guess the number. After each guess,
# the first player answers either “Higher”, “Lower” or “Correct!”
# depending on whether the secret number is higher, lower or equal to the guess.
# http://www.codeskulptor.org/#user38_SeTv0Tz7E7nAlil_12.py
try:
import simplegui
except:
import SimpleGUICS2Pygame.simpleguics2pygame as simplegui
# To run simplegui in idle python, install SimpleGUICS2Pygame module
# download module : https://pypi.python.org/pypi/SimpleGUICS2Pygame
import random
import math

# Global Variables
secret_number = 0
limit = 100
No_of_attempts = int(math.ceil(math.log(limit + 1 ,2)))

def new_game():
global secret_number,guess
secret_number = random.randint(0, 100)

def range100():
global secret_number, limit, No_of_attempts
limit = 100
secret_number = random.randint(0, limit)
No_of_attempts = int(math.ceil(math.log(limit,2)))
#print "Lets Play A Game!!!\n"
print "\nNew Game.\nGuess a number between 0 to 100"
print "You have about %s attempts at this!" %(No_of_attempts)

def range1000():
global secret_number, limit, No_of_attempts
limit = 1000
secret_number = random.randint(0, limit)
No_of_attempts = int(math.ceil(math.log(limit,2)))
print "Lets Play A Game!!!\nGuess a number between 0 to 1000"
print "You have about %s attempts at this!" %(No_of_attempts)

def input_guess(guess):
global No_of_attempts, secret_number
try:
guess = int(guess)
# print No_of_attempts
#print "\nYour guess was", guess
# print "You have %s "%(No_of_attempts)
No_of_attempts -= 1
if No_of_attempts > 0:
print "\nYour guess was", guess

# for No_of_attempts in range(No_of_attempts):
# print guess, secret_number, No_of_attempts
# No_of_attempts -= 1
if (guess > secret_number):
print "Go Lower!!!!!"
print "No. of Attempts left:",No_of_attempts
elif(guess < secret_number):
print "Go Higher!!!!!"
print "No. of Attempts left:",No_of_attempts
else:
print "\nCorrect!!!\n"
print "You guessed it right!!!\nCorrect number was %s, you had %s attempts left...\nChoose a New game. " %(secret_number, No_of_attempts)

#break

else :
print "\nTime up, You Lost\nCorrect number was %s"%(secret_number)
print "Try again a new game."
#new_game()
range100()

except:
print 'Input is not a number!!!\nTry Again!!!'

def end_game():
print "\t*******************"
print "\t* *"
print "\t* Game Over!!! *"
print "\t* *"
print "\t*******************"
frame.stop()

def Init_screen():
print "\t***************************"
print "\t* I want to Play a Game. *"
print "\t* The rules are simple. *"
print "\t* All you have to do is- *"
print "\t* sit here and guess, a *"
print "\t* number I am thinking *"
print "\t* ---JigSaw *"
print "\t* *"
print "\t***************************"
range100()

frame = simplegui.create_frame('Guess the number', 200, 200)
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, 40)
frame.add_button('End Game', end_game, 70)
frame.start()
# call new_game
Init_screen()
new_game()

[/sourcecode]