Python rock, paper, scissors game. not always give correct answers
Question: I'm trying to make a simple **_Rock, Paper, Scissors_** game in **python 3.4**
and it works to a certain degree but some time i get an output of "You Won
Rock crushes Rock" even though i thought i have stop this from happening and
only allowed certain outcomes of the code with my elif and if statements. So
can anyone tell me why isn't this working sometimes. :)

    
    
    import random
    
    count = 0
    OPTIONS = ['rock', 'paper', 'scissors']
        # then check if the user lose's, wins ties
    
    def computer():
        return random.choice(OPTIONS)
    
    print("\n"+"-=-"*11)
    print("Welcome to ROCK, PAPER, SCISSORS")
    print("              GAME")
    print("   It's you Vs. the computer!")
    print("-=-"*11)
    while True:
        user = input("What do you choose Rock, Paper, Scissors: ").lower()
        if user in OPTIONS:
            # Possible user time a user can succeeds rock beats sicissor, sicissors cuts paper, paper covers rock
            if user == computer():
                print("tie")
    
            elif user == 'rock' and computer() == 'scissors':
                print("\nYou Won! {} crushes {}".format(user.title(), computer().title()))
    
            elif user == 'scissors' and computer() =='rock':
                print("\nComputer Won! {} crushes {}".format(computer().title(), user.title() ))
    
            elif user == 'scissors' and computer() == 'paper':
                print("\nYou Won! {} cuts {}".format(user.title(), computer().title()))
    
            elif user == 'paper' and computer() == 'scissors':
                print("\nComputer Won! {} cuts {}".format(computer().title(), user.title()))
    
            elif user == 'paper' and computer() == 'rock':
                print("\nYou Won! {} covers {}".format(user.title(), computer().title()))
    
            elif user == 'rock' and computer() == 'paper':
                print("\nComputer Won! {} covers {}".format(computer().title(), user.title()))
    
    
        else:
            print("\nMake sure you choose ethier Rock, Paper or Scissors")
        enter code here
    


Answer: 
        elif user == 'rock' and computer() == 'scissors':
            print("\nYou Won! {} crushes {}".format(user.title(), computer().title()))
    

Every time you call `computer()`, it generates a completely new value,
independent of any previous calls. For example, in the code above it's
entirely possible that the first `computer()` call returns "scissors", and the
second one returns "rock".

Call `computer()` only once in the loop, and store the result. Then use that
value for the rest of your code.

    
    
    while True:
        user = input("What do you choose Rock, Paper, Scissors: ").lower()
        if user in OPTIONS:
            computer_move = computer()
            # Possible user time a user can succeeds rock beats sicissor, sicissors cuts paper, paper covers rock
            if user == computer_move:
                print("tie")
    
            elif user == 'rock' and computer_move == 'scissors':
                print("\nYou Won! {} crushes {}".format(user.title(), computer_move.title()))
            #etc
    

