newb ?

Chad Everett everettcc at hotmail.com
Thu Nov 17 21:30:45 EST 2005


Mensanator,

Thanks for your help.  That should get me along.  I appreciate your time.

Chad
<mensanator at aol.com> wrote in message 
news:1132279704.095131.129440 at g44g2000cwa.googlegroups.com...
>
> Chad Everett wrote:
>> Hey guys,
>>
>> I am back.  Trying to expand on  a program that was given in the book I 
>> am
>> studying.
>>
>> No I am not a high school or college student.  Doing this on my own.  and
>> having way to much trouble
>>
>> I am trying to add a hint section to a word jumble program.
>>
>> I get a traceback error that the word in the jumble is not defined.
>> Can anyone help?
>
> You have several errors.
>
>> thanks,
>>
>> import random
>>
>> # create a sequence of words to choose from
>> WORDS = ("python", "easy")
>> # 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 variable to use for hint if needed
>
> You didn't create a variable here. Something like
>
> hint = "hint"
>
> And this is the core of your problems. You are confusing a
> variable name with the value assigned to it.
>
>
>> # 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 Jumble!
>>
>>    Unscramble the letters to make a word.
>> (Press the enter key at the prompt to quit.)
>> """
>> print "The jumble is:", jumble
>> print "If you need a hint type 'hint' and Hit enter."
>
> Here you have specifically told the user that the hint word is "hint".
>
>>
>> guess = raw_input("\nYour guess: ")
>> guess = guess.lower()
>> while (guess != correct) and (guess != "")and (guess != hint): ##not sure
>> about this either##
>
> It will fail because you did not define the hint variable.
> Note you actually don't need a hint variable (because the
> hint word never changes), you could have said
>
> ... and (guess != "hint")
>
> whereas (guess != correct) needs to compare against a variable
> because correct does change.
>
>>     print "Sorry, that's not it."
>>     guess = raw_input("Your guess: ")
>>     guess = guess.lower()
>>
>>
>> ###I don"t lnow how to set up this part correct so that when they ask for
>> the hint it will give it to them###
>>
>>
>> while word == easy:
>
> Same problem here, easy is a variable (which you haven't defined).
> What you meant to say was
>
> while word == "easy":
>
>
>>     if guess == hint:
>>         print "not hard but"
>>         guess = raw_input("Your guess: ")
>>         guess = guess.lower()
>>
>> while word == python:
>
> Ditto. But this is going to get tedious when your word list gets large.
> You should have your words and their hints stored in a dictionary:
>
> hints = {'easy':'not hard but','python':'snake'}
>
> then you need just a single code block that can print the hint
> by using the correct word to look up the hint in the dictionary.
>
>     if guess == hint:
>         print hints[correct]
>         guess = raw_input("Your guess: ")
>         guess = guess.lower()
>>
>> if guess == correct:
>>     print "That's it!  You guessed it!\n"
>>
>> print "Thanks for playing."
>>
>> raw_input("\n\nPress the enter key to exit.")
> 





More information about the Python-list mailing list