[Tutor] 'word jumble' game

Alexander Kapshuk akap at isd.dp.ua
Tue Apr 17 16:31:09 CEST 2007

Hello Everyone,


This is Alexander Kapshuk writing here again ...


Could you please have a look at the code below and let me know of any
shortcuts that could be used there.


The code works fine as it is. I was just wandering if there was a
better, more compact and elegant way of writing the program.


Thanking you all in advance.


Alexander Kapshuk



# Word Jumble Game


# The computer picks a random word and then "jumbles" it.

# The player has to guess the original word.


# Should the player be stuck and require a hint, they will be prompted
for a hint.

# If the player answers 'yes', the appropriate hint will be displayed
and the player will be asked to guess again.

# If the player answers 'no', they will be asked to guess again and
awarded some points if they manage to guess the jumbled word without
ever asking for a hint.


import random


# create a sequence of words to choose from

WORDS = ("python", "jumble", "easy", "difficult", "answer", "xylophone")


# pick one word randomly from the sequence

word = random.choice(WORDS)


# create a variable to use later to see if the guess is correct

correct = word


# create hints for all the jumbled words

hint0 = "\nIt's the best programming language for the absolute beginner

hint1 = "\nIt's what this program does to words to make it difficult to
guess them ...\n"

hint2 = "\nIt's not difficult ...\n"

hint3 = "\nIt's not easy ...\n"

hint4 = "\nIt's not a question ...\n"

hint5 = "\nIt's a musical instrument you have to hit with 2 small sticks


# create a jumbled version of the word

jumble = ""


while word:

    position = random.randrange(len(word))

    jumble += word[position]

    word = word[:position] + word[(position + 1):]


# start the game

print \


            Welcome to Word Jumple!


    Unscramble the letters to make a word.

    (Press the enter key at the prompt to quit.)


print "The jumble:", jumble


guess = raw_input("\nYour guess: ")

guess = guess.lower()

score = 0

while (guess != correct) and (guess != ""):

    print "\nSorry, that's not it.\n"

    hint_prompt = raw_input("Would you like a hint? Y/N: ")

    hint_prompt = hint_prompt.lower()

    if hint_prompt == "yes" and correct == WORDS[0]:

        print hint0

    elif hint_prompt == "yes" and correct == WORDS[1]:

        print hint1

    elif hint_prompt == "yes" and correct == WORDS[2]:

        print hint2

    elif hint_prompt == "yes" and correct == WORDS[3]:

        print hint3

    elif hint_prompt == "yes" and correct == WORDS[4]:

        print hint4

    elif hint_prompt == "yes" and correct == WORDS[5]:

        print hint5

    elif hint_prompt == "no":

        score += 50


    guess = raw_input("Your guess: ")

    guess = guess.lower()


    if guess == correct and hint_prompt == "no":

        print "\nThat's it! You guessed it!\n"

        print "Because you never asked for a hint you get", score,


print "\nThanks for playing."


raw_input("\n\nPress the enter key to exit.")


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20070417/9ef35d15/attachment.html 

More information about the Tutor mailing list