Hi folks, This is a little program I've written to bring together some things I've been trying to learn (not an attempt, of course, to make an interesting game).. I've been working my way through a beginner's tutorial, and except for a very basic program I wrote in C++ one time, I think this is the first program I've ever done from scratch. Of course, I've incorporated ideas I've learned from folks on the Internet, my tutorial, and this list.
I"m sure I've broken some rules along the way, but it does work without any errors (that I have found). So, how could I improve it? Is it readable to you, or a mess? Thanks for your time, Don #Author D.Bedsole #drbedsole at gmail.com #3/24/10 #License: Public Domain import random from sys import exit #A guessing game where user must guess a number between 1 and 10 def start_up(): print "Hello, and welcome to the Guessing Game. Here are the rules:\n" print "Try to guess the correct number. It is between 1 and 10." print "You have ten chances." print "To quit the game just type 'quit' (w/o the quotes) at the prompt.\n" print "Here we go!\n" def ran_num(): the_number = random.randint(1,10) return the_number def guess_loop(the_number): start_number = 0 while start_number < 10: print "Please guess a number between 1-10. Enter your guess at the prompt." guess = (raw_input("> ")) if "exit" in guess: #Give user a chance to exit w/o finishing game print "Thanks for playing. Goodbye!" exit() if guess.isdigit(): #validate input guess = int(guess) else: print "You didn't enter a number." continue #Return to top of the loop so user can enter number if guess > the_number: print "Sorry. You guessed too high." start_number += 1 attempt_counter(start_number, the_number)#warn user of remaining tries elif guess < the_number: print "Sorry. That was too low.\n" start_number += 1 attempt_counter(start_number, the_number)#warn user of remaining tries else: print "Congratulations. You guessed it!\n" print "Do you want to play again? Type 'y' for yes and 'n' for no" response = raw_input("> ") if 'y' in response: start_up(guess_loop(ran_num())) else: print "Thanks for playing. Goodbye." exit() #Track guesses attempted and warn of end of game when chances exhausted def attempt_counter(start_number, the_number): print "That was attempt #%d." % (start_number) if start_number == 10: print "That was your last chance. The correct answer was %d." % (the_number) print "Do you want to start a new game. Type 'y' for yes and 'n' for no." answer = raw_input("> ") if 'y' in answer: start_up(guess_loop(ran_num())) else: print "Thanks for playing. Goodbye." exit() #function calls to start program start_up() guess_loop(ran_num()) _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor