def cria_peca(s):  # str -> peca
    """
    Recebe uma cadeia de carateres correspondentea uma peca e devolve a peca
    correspondente se o argumento for valido.
    :param s: string da peca (pode ser 'X', 'O' ou ' ')
    :return: peca, que e representada internamente como o set de um elemento,
    que contem um inteiro -1, 0 ou 1 dependendo se a peca e 'O', ' ' ou 'X'
    respetivamente
    """
    if s != 'X' and s != 'O' and s != ' ':
        raise ValueError('cria_peca: argumento invalido')
    if s == 'X':
        return {1}
    elif s == 'O':
        return {-1}
    elif s == ' ':
        return {0}