954,541 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Word Jumble python program

Listed below is the original word jumble python program.
According to the exercise i'm supposed to add hints see next thread on my modified program however it doesn't work correctly.

# Word Jumble
# 
# The computer picks a random word then "jumbles" it
# The player has to guess the original word
#  
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 a jumbled version of the word
jumble =""
 
while word:
  position = random.randrange(len(word))
  jumble += word[position]
  word = word[:position] + word[(position + 1):]
  
# sets score to zero
score = 0
 
# start the game
print \
   """
              Welcome to Word Jumble!
 
 Unscramble the letters to make a word.
 Enter a guess, an X to give up, or type ? and press enter for a hint.
 (Press the enter key at the prompt to quit.)
 
 Try to get the lowest score possible. For each hint, you gain a point.
 See if you can win with no points!
 """
print "The jumble is:", jumble

guess = raw_input("\nYour guess: ")
guess = guess.lower()
lst = range(len(jumble))
hint_str = '_'*len(jumble)
while True:
 
     
 if guess == correct:
      print "That's it! You guessed it!\n Your score is", score
      raw_input("\n\nPress the enter key to exit.")
      break
      guess = raw_input("Guess or '?' or 'X': ").lower()

 elif guess == '?':
       i = random.choice(lst)
       print correct[i], "is the", i+1, "letter."
       score += 1
       guess = raw_input("Guess or '?' or 'X': ").lower()
       
       
 elif guess == 'x':
       print "Sorry you gave up!"
       break
 else:
       print "Sorry, thats not it. Try again."
       guess = raw_input("Guess or '?' or 'X': ").lower()
dseto200
Junior Poster in Training
56 posts since Nov 2008
Reputation Points: 10
Solved Threads: 0
 

Now it works now. Ahhh.
Weird it wasn't working now after I put this solution in this thread now it works.
Only problem sometime that dumb random function will return
the same hint "i.e b is the letter4" two times in a row.

# Word Jumble
# 
# The computer picks a random word then "jumbles" it
# The player has to guess the original word
#  
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 a jumbled version of the word
jumble =""
 
while word:
  position = random.randrange(len(word))
  jumble += word[position]
  word = word[:position] + word[(position + 1):]
  
# sets score to zero
score = 0
 
# start the game
print \
   """
              Welcome to Word Jumble!
 
 Unscramble the letters to make a word.
 Enter a guess, an X to give up, or type ? and press enter for a hint.
 (Press the enter key at the prompt to quit.)
 
 Try to get the lowest score possible. For each hint, you gain a point.
 See if you can win with no points!
 """
print "The jumble is:", jumble

guess = raw_input("\nYour guess: ")
guess = guess.lower()
lst = range(len(jumble))
hint_str = '_'*len(jumble)
while True:
 
     
 if guess == correct:
      print "That's it! You guessed it!\n Your score is", score
      raw_input("\n\nPress the enter key to exit.")
      break
      guess = raw_input("Guess or '?' or 'X': ").lower()

 elif guess == '?':
       i = random.choice(lst)
       print correct[i], "is the", i+1, "letter."
       score += 1
       guess = raw_input("Guess or '?' or 'X': ").lower()
       
       
 elif guess == 'x':
       print "Sorry you gave up!"
       break
 else:
       print "Sorry, thats not it. Try again."
       guess = raw_input("Guess or '?' or 'X': ").lower()
dseto200
Junior Poster in Training
56 posts since Nov 2008
Reputation Points: 10
Solved Threads: 0
 

create a list of which characters have been hinted and check the new hint doesn't match any of the previous.

You can also limit people to X amounts of hints too

Chris

Freaky_Chris
Master Poster
702 posts since Apr 2008
Reputation Points: 325
Solved Threads: 118
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You