implementar funções para uso futuro de BigFive

This commit is contained in:
2026-10-27 12:34:31 +00:00
parent 7af03abb5e
commit b55a3d0b03
+18
View File
@@ -3,6 +3,8 @@ from enum import Enum
import json import json
import os import os
from types import NoneType from types import NoneType
from hashlib import sha256
import random
class TiposEstrategia(Enum): 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") raise TypeError("estratégia {nome_strat=} não é válida")
personalidade: dict[str, float] | None = lista_estrategias.get(nome_strat) personalidade: dict[str, float] | None = lista_estrategias.get(nome_strat)
return personalidade 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()