On 31Mar2017 16:12, 2019.cavanau...@fpsedu.org <2019.cavanau...@fpsedu.org> 
wrote:
Hello I've been coding for about 1 or 2 months and i have encountered a problem 
with a 'while' statement. It keeps looping even when the statement is false, 
here is the code. The code is for a game that I'm making that resembles the 
Oregon Trial.

Obviously the statement (well, "test") isn't false! Let's look:

[...]
answer8 = ""
while answer8 != ("1") or answer8 != ("2"):
[...]

Answer8 cannot be both "1" and also "2". Therefore, it will always _not_ be equal to at least one of "1" and "2". Therefore this test is always true.

You might better write this:

 while answer8 not in ("1", "2"):

or:

 while not( answer8 == "1" or answer8 == "2" ):

BTW, you need to decide whther you're working in strings or integers. input() in Python 3 returns a string. If you want to test against strings, fine.

However, if you want to test against numbers you need to convert the string to a number:

 answer8n = int(answer8)

and then test against answer8n.

Cheers,
Cameron Simpson <c...@zip.com.au>
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to