Python Forum

Full Version: Need help with rpsls game(Beginner corner)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,I tried to write the codes without an instruction so I've made lots of mistakes, but I would be thankful to get reviewed and find my mistakes.


#Game:rpsls a="rock" b="Spock" c="paper" d="lizard" e="scissors" #So as the first step I need to assign those letters to their #corresponding numbers def letter_to_number(letter): if letter== a: number=0 elif letter== b: number=1 elif letter== c: number=2 elif letter== d: number=3 elif letter== e: number=4 return number def number_to_letter(number): if number==0: letter= a elif number==1: letter= b elif number==2: letter= c elif number==3: letter= d elif number==4: letter= e return letter #So in this step I'm gonna print player and computer choices #and then define how one of them is gonna win import random def game(player_choice): print "Player chooses" + player_choice player_choice=random.randrange(0, 5) return player_choice def game(computer_choice): print "Computer chooses" + computer_choice computer_choice=random.randrange(0, 5) return computer_choice #So I'm gonna use the difference to declare the winner. difference= (player_choice - computer_choice)%5 if difference == 1 or difference == 2: print "Player wins!" if difference == 2 or difference ==3: print "Computer wins!" else: print "Player and computer tie!" game("rock") game("Spock") game("paper") game("lizard") game("scissors") 
Line 43,47,54,56,58 - missing parentheses in print statement
line 52 - player_choice can be use only in the game() function, not outside it
Edit: Here's a simplified version of your game
#Game:rpsls #So as the first step I need to assign those letters to their #corresponding numbers import random def game(player_choice,computer_choice): if player_choice == "rock": number = 0 elif player_choice == "Spock": number = 1 elif player_choice == "paper": number = 2 elif player_choice == "lizard": number = 3 elif player_choice == "scissors": number = 4 if computer_choice == "rock": number2 = 0 elif computer_choice == "Spock": number2 = 1 elif computer_choice == "paper": number2 = 2 elif computer_choice == "lizard": number2 = 3 elif computer_choice == "scissors": number2 = 4 #So in this step I'm gonna print player and computer choices #and then define how one of them is gonna win print ("Player chooses" + player_choice) print ("Computer chooses" + computer_choice) #So I'm gonna use the difference to declare the winner. if number > number2 : difference= (number - number2) else: difference= (number2 - number) if difference == 1 or difference == 2: print ("Player wins!") if difference == 2 or difference ==3: print ("Computer wins!") else: print ("Player and computer tie!") comp_choice = random.choice(["rock","Spock","paper","lizard","scissors"]) game("rock",comp_choice) game("Spock",comp_choice) game("paper",comp_choice) game("lizard",comp_choice) game("scissors",comp_choice)