Your direction == "North" or "South" or "East" or "West"
isn't actually doing what you think it is. (There was a reply about this, but it didn't explain fully what was going on.) Every string, in logic, is equivalent to True
. So this actually means direction == True or True or True or True
. This collapses down to direction == True
, which is always false. Instead, you should do direction == "North" or direction == "South" or direction == "East" or direction == "West"
. Python is like English, but it doesn't have all the properties of it. I'm a beginner at Python, can do most basic things, but I don't understand a lot of what these answers are, and I'm glad to help if any more problems are in my expertise. Feel free to edit my typos or anything else. Please don't edit the answer, though, unless it is a vital caveat that I missed.