NameError: name 'guess' is not defined

Dan Bishop danb_83 at yahoo.com
Sat Mar 22 12:10:04 EDT 2008


On Mar 22, 10:44 am, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
> willk... at gmail.com schrieb:
>
>
>
> > I am very new to both programming and Pyhton and while trying to do
> > some practice using A byte of python an Error pops up on the IDLE
> > shell. I am using windows XP. PLease see below.
> > while running:
> > guess = int(raw_input('Enter an integer : '))
>
> > if guess == number:
> > print 'Congratulations, you guessed it.'
> > running = False # this causes the while loop to stop
> > elif guess < number:
> > print 'No, it is a little higher than that.'
> > else:
> > print 'No, it is a little lower than that.'
> > else:
> > print 'The while loop is over.'
> > # Do anything else you want to do here
>
> > print 'Done'
>
> > After typing the above as the book says, I get the error NameError:
> > name 'guess' is not defined
> > What Am I doing wrong?
>
> You most certainly did NOT write the above - because in Python
> whitespace is significant, and thus the above would result in a
> syntax-error because you need to have things like
>
> if condition:
>     something()
>
> and not
>
> if condition:
> something()
>
> So unless you post what you *really* entered (and make sure your
> NG-client/mailclient doesn't eat leading whitespace), nobody will be
> able to help you.

If your newsclient *does* mangle whitespace, you can post your code
like:

exec """
number = 12345 # Defines the number variable before using
while True:
$guess = int(raw_input('Enter an integer : '))
$if guess == number:
$$print 'Congratulations, you guessed it.'
$$break # this causes the while loop to stop
$elif guess < number:
$$print 'No, it is a little higher than that.'
$else:
$$print 'No, it is a little lower than that.'
print 'The while loop is over.'
print 'Done'
""".replace("$", "\t")



More information about the Python-list mailing list