how to finish a while loop...
Chris
cwitts at gmail.com
Wed Feb 20 03:03:36 EST 2008
On Feb 20, 3:42 am, richie <richie... at gmail.com> wrote:
> On Feb 20, 9:35 am, icarus <rsa... at gmail.com> wrote:
>
>
>
> > > To the original poster.... what environment are you running this in?
>
> > Linux. Xubuntu if that matters.
>
> > > When I put your program in notepad and run it from the windows command
> > > prompt it works.
>
> > yeah yeah...same here.
> > After I got the tip that it actually worked, I went into the eclipse
> > directory where the program lives, ran it there from the shell, and it
> > worked. Meaning, I didn't modify anything on the file itself (by
> > accident or on purpose).
>
> > > But when I paste it into eclipse and run it
> > > eclipse's console, it doesn't work because answer seems to have a
> > > stray '\r' carriage return (CR) and therefore the comparison to 'no'
> > > fails.
>
> > I get no 'compile' errors there.
> > I get regular execution but it just doesn't change the
> > condition to False at the very end.
> > Therefore it loops forever. I used other values like zeros
> > and ones to make sure I could print the values when the interpreter
> > got down to that line. Everything checked. Just didn't change the
> > condition on the main loop.
>
> I've changed this code a little.
> condition = True
> while ( condition ):
> try:
> integer_one = int ( raw_input( "Please enter an integer: " ) )
> integer_two = int ( raw_input( "Please enter the second
> integer: " ) )
> division = integer_one / integer_two
> except( ZeroDivisionError ):
> print "\nDivision by zero detected"
> except( ValueError ):
> print "\nYou didn't enter an integer"
> else:
> print "The result is", division
> answer = raw_input("Do you want to try again (yes or no)? ")
> print answer
> #answer="no"
> if answer == "yes":
> condition=True
> elif answer == "no":
> condition=False
> print "Good bye, you don't want to continue"
> print condition
> And i got this result in eclipse3.2:
> Please enter an integer: 8
> Please enter the second integer: 4
> The result is 2
> Do you want to try again (yes or no)? no
> no
> Good bye, you don't want to continue
> True
> Please enter an integer:
>
> it seems the input "no" in eclipse's console to answer won't equal the
> "no" we compare.
> And when I remove the comment and I get this result:
> Please enter an integer: 8
> Please enter the second integer: 4
> The result is 2
> Do you want to try again (yes or no)? no
> no
> Good bye, you don't want to continue
> False
strip and lowercase your answer for better comparison checking.
More information about the Python-list
mailing list