Raj Medhekar wrote:
Hi, I need help with the code below. I am trying to pair the list in the hint with the list of words. However, the list is not matching up correctly. Also when the correct guess is entered the program just continues without acknowledging the right answer. Please could y'all test this out and let me know where I am going wrong. I also want to add a scoring system where the computer rewards the person that guesses without getting a hint. Any suggestions as to how I might go about incorporating that into my code. Thanks for the help!

Peace,
Raj

I will throw out a few hints below. I suggest you familiarize yourself with "desk checking" - walking through the program by hand , writing down the values of variables at each step, and tracking the loops and conditions carefully.

# Word Jumble V2
# Computer jumbles a randomly selected word then asks the player to guess it
# If player cant guess the word he can ask for a hint

Note you don't offer a way to ask for a hint, you just give it.

# Scoring system that rewards players for solving jumble without a hint (not included in this code)

Get the rest working first.

import random

WORDS = ("sweep","difficult", "python", "america")
HINTS = ("remove dirt","not easy","computer language and a snake",
         "land of the free")

word = random.choice(WORDS)
correct = word
jumble = ""

while word:
    position = random.randrange(len(word))
    jumble += word[position]
    word = word[:position] + word[(position+1):]

OK so far. The next loop does not make sense - it uses word to iterate thru WORDS but does nothing with word! Position is a constant (0) so all it does is compare "remove dirt" with "sweeps" 4 times.

for word in WORDS:
    HINTS[position] == WORDS[position]

print\
    """
        Welcome to Word Jumble
Unscramble the letters to make a word
Remember Hints lower your score
(Press the enter key at the prompt to exit)
    """
print "The jumble is: ",jumble
guess = raw_input("Guess the word: ")
guess = guess.lower()
tries = 1

OK again. The while condition below does not make sense. word will always be "america" (can you see why?)

while guess != word and word !="" and tries <5:
    print "Sorry! That's not it!"
    guess = raw_input("Guess the word: ")
    guess = guess.lower()
    tries +=1
if guess == correct:
    print "You're right, the word is", word
else:
    print "Maybe you need a hint:"
    print HINTS[position]
    guess = raw_input("Guess the word: ")
    guess = guess.lower()

The program at this point is not in any loop so it terminates.


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

--
Bob Gailer
Chapel Hill NC
919-636-4239
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to