Fazer um jogo de JoKemPo em Python é simples, mas para complementar fiz alguns tratamentos diferentes, como a captura de KeyboardException para tratar a saída do programa.
from random import choice # Esta função serve para escolher aleatoriamente um elemento da lista! # Dicionário de movimentos, na chave a opção e no valor quem ela ganha! MOVES = { 'rock': 'scissors', 'paper': 'rock', 'scissors': 'paper', } # Lista de opções OPTIONS = list(MOVES.keys()) def _get_user_choice(): """ Recupera e valida a opção do usuário """ while True: user_choice = input('Choose one option [rock/paper/scissors] - ctrl+c to exit: ') if user_choice not in OPTIONS: print('Choose a valid option!') continue return user_choice def _jokenpo(user_choice, computer_choice): """ Valida a regra do jogo, comparando a escolha do usuário com a do computador! """ if MOVES[user_choice] == computer_choice: print('You win!') elif MOVES[computer_choice] == user_choice: print('I win!') else: print('Meh!') if __name__ == "__main__": while True: # Roda infinitamente try: user_choice = _get_user_choice() except KeyboardInterrupt: print('\nBye!') # Caso o usuário aperte ctrl+c sairá do loop infinito break computer_choice = choice(OPTIONS) # Escolhe a opção do computador _jokenpo( user_choice=user_choice, computer_choice=computer_choice, )