因为没来得及上传,只能保留在此。
# 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
Num_guesses = 0
num_range = 100
# 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)
print "New game. Range is from 0 to", num_range
global Num_guesses
Num_guesses = int(math.ceil(math.log(num_range+1,2)))
print "Number of remaining guesses is", Num_guesses
print ""
# 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
new_game()
def range1000():
# button that changes the range to [0,1000) and starts a new game
global num_range
num_range = 1000
new_game()
def input_guess(guess):
# main game logic goes here
inp = int (guess)
print "Guess was", inp
global Num_guesses
Num_guesses = Num_guesses - 1
print "Number of remaining guesses is", Num_guesses
if Num_guesses > 0:
if inp > secret_number:
print "Lower"
elif inp < secret_number:
print "Higher"
else:
print "Correct"
print ""
new_game()
else:
if inp == secret_number:
print "Correct"
else:
print "You ran out of guesses. The number was", secret_number
print ""
new_game()
print ""
# create frame
frame = simplegui.create_frame('Guess the number', 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()