I wrote a simple little rock, paper, scissors game in python and had some difficulties with an if clause, here's the relevant code:
def play():
user = str(input("rock, paper or scissors? Choose one: "))
print("You chose", user)
if user == "paper" or "Paper":
paper()
elif user == "rock" or "Rock":
rock()
elif user == "scissors" or "Scissors":
scissors()
else:
print("Sorry, your choice was not valid, try again please.")
play()
Now, no matter whether I chose rock, paper or scissors, it would always trigger the first condition, leading me to the paper function. I actually already solved it, it was the second condition I put in the if clauses, the "Paper", "Rock" and "Scissors", which I put there for the case people uppercase the first letter. My question is, why did the second condition trigger the first if clause? When I removed all the second strings, it worked perfectly fine, the rock triggered the second condition, the scissors one triggered the third and so on. I hope this is not too confusing. Thanks.