From b55a3d0b03497f6db62570c82f716f8b21ee2f49 Mon Sep 17 00:00:00 2001 From: Luis Rodrigues Date: Tue, 27 Oct 2026 12:34:31 +0000 Subject: [PATCH] =?UTF-8?q?implementar=20fun=C3=A7=C3=B5es=20para=20uso=20?= =?UTF-8?q?futuro=20de=20BigFive?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/estrategia.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/estrategia.py b/modules/estrategia.py index b0cdfae..416a3a2 100644 --- a/modules/estrategia.py +++ b/modules/estrategia.py @@ -3,6 +3,8 @@ from enum import Enum import json import os from types import NoneType +from hashlib import sha256 +import random class TiposEstrategia(Enum): @@ -35,3 +37,19 @@ def devolvePersonalidade(nome_strat: str | None) -> dict[str, float] | None: raise TypeError("estratégia {nome_strat=} não é válida") personalidade: dict[str, float] | None = lista_estrategias.get(nome_strat) return personalidade + + +# função para gerar aleatoriamente valores para BigFive (valores decimais) +def gerarBigFive_aleatorio() -> dict[str, float]: + bigfive: dict = {} + for key in "OCEAN": + bigfive[key] = random.random() + return bigfive + + +# função para gerar assinatura sha256 com base nos valores BigFive passados +def gerarAssinaturaBigFive(bigfive: dict[str, float]) -> str: + h = sha256() + for idx, key in enumerate(bigfive): + h.update(str(bigfive[key] ** (len(bigfive) - idx)).encode()) + return h.hexdigest()