Rock, Paper, Scissors - Solution

By Jens Hahn


In [ ]:
import numpy.random as random

def scrls():
    scissors = {'rock': False, 'paper': True, 'lizard': True, 'spock':False}
    rock = {'scissors': True, 'paper': False, 'lizard': True, 'spock':False}
    paper = {'scissors': False, 'rock': True, 'lizard': False, 'spock':True}
    lizard = {'scissors': False, 'paper': True, 'rock': False, 'spock':True}
    spock = {'rock': True, 'scissors': True, 'lizard': False, 'paper':False}
    
    erg = {'scissors': scissors, 'rock': rock, 'paper': paper, 'lizard': lizard, 'spock': spock}
    
    answer = None
    while answer not in erg:
        answer = input("rock, paper, scissors, lizard, or spock? ")

    rand = random.randint(1, 5)
    computer_choice = {1: 'rock', 2: 'paper', 3:'scissors', 4:'lizard', 5:'spock'}
    comp_ans = computer_choice[rand]

    if answer == comp_ans:
        print('Computer has ' + comp_ans)
        print('tied game')
    else:
        if erg[answer][comp_ans]:
            print('Computer has ' + comp_ans)
            print('you won')
        else:
            print('Computer has ' + comp_ans)
            print('you loose')

    new_game = input("another game? ")
    if new_game in ['y', 'Y', 'yes']:
        scrls()

if __name__ == "__main__":
    scrls()