Rock Paper Scissors Game, I need help. - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Game Development (https://python-forum.io/forum-11.html) +--- Thread: Rock Paper Scissors Game, I need help. (/thread-16094.html) |
Rock Paper Scissors Game, I need help. - extraguac - Feb-14-2019 Hello, I recently started learning python and I'm having lots of fun! I made a very very simple, beginner game of Rock Paper Scissors, but I've hit a roadblock. I tried to implement a sort of "error-detection" system where if either player types anything other than "rock", "paper", "scissors", the result will print "Please type correct choices!" However, no matter what I type, I end up getting "Please type correct choices!" message. Can you guys help me where I messed up my code? I'm assuming that I messed up line 8... I appreciate your help! print("Welcome to the great game of Rock Paper Scissors!") print("Here is the rule.\nPlayer 1 enters his/her choice.\nPlayer 2 enters his/her choice.\n") p1 = input("Player 1, please enter your choice: ").lower() p2 = input("Player 2, please enter your choice: ").lower() if p1 == ("rock" or "paper" or "scissors") and p2 == ("rock" or "paper" or "scissors"): if p1 == p2: print("It's a tie!") elif p1 == "rock": if p2 == "paper": print("Player 2 wins!") else: print("Player 1 wins!") elif p1 == "paper": if p2 =="scissors": print("Player 2 wins!") else: print("Player 1 wins!") elif p1 == "scissors": if p2 == "rock": print("Player 2 wins!") else: print("Player 1 wins!") else: print("Please type correct choices!") RE: Rock Paper Scissors Game, I need help. - ichabod801 - Feb-14-2019 You are using the or operator wrong. You need to have an expression on each side of the or (see here for details). What you want is: valid = ('rock', 'paper', 'scissors') if p1 in valid and p2 in valid: RE: Rock Paper Scissors Game, I need help. - extraguac - Feb-14-2019 (Feb-14-2019, 04:04 AM)ichabod801 Wrote: You are using the or operator wrong. You need to have an expression on each side of the or (see here for details). What you want is: Thank you so much for your help! I now know what I did wrong. Thank you again. |