aderir a padrão de código python

This commit is contained in:
2024-08-31 11:59:58 +01:00
parent 91e1926d0d
commit 74a8e62b39

View File

@ -1,6 +1,7 @@
from enum import Enum from enum import Enum
import random import random
class Estrategia(Enum): class Estrategia(Enum):
Neutro = 0 Neutro = 0
Tit4Tat = 1 Tit4Tat = 1
@ -11,22 +12,27 @@ class Estrategia(Enum):
class Agente(): class Agente():
def __init__(self): def __init__(self):
# definir estrategia aleatoriamente # definir estrategia aleatoriamente
self.estrategia = Estrategia(random.randint(0,Estrategia.__len__()-1)) self.estrategia = Estrategia(random.randint(0, Estrategia.__len__()-1))
self.definir_fatores_estrategia() self.definir_fatores_estrategia()
# identificador de agente # identificador de agente
self.id_agente = id(self) self.id_agente = id(self)
# factores da estrategia (probabilidade): 0...1 # factores da estrategia (probabilidade): 0...1
# amabilidade -> não desertar a menos que o adversário deserte (0 -> desertar sempre; 1 -> nunca desertar) # amabilidade -> não desertar a menos que o adversário deserte
# (0 -> desertar sempre; 1 -> nunca desertar)
amabilidade = 0 amabilidade = 0
# retaliação -> retaliar quando um adversário deserta (0 -> nunca retaliar; 1 -> retaliar sempre) # retaliação -> retaliar quando um adversário deserta
# (0 -> nunca retaliar; 1 -> retaliar sempre)
retaliação = 0 retaliação = 0
# perdao -> perdoar um adversário desertor, assim que este deixa de desertar (0 -> nunca perdoar; 1 -> perdoar sempre) # perdao -> perdoar um adversário desertor, assim que este deixa de
# desertar
# (0 -> nunca perdoar; 1 -> perdoar sempre)
perdao = 0 perdao = 0
# coerencia -> ser coerente na estrategia, evitar aleatoriedade (0 -> nunca coerente; 1 -> sempre coerente) # coerencia -> ser coerente na estrategia, evitar aleatoriedade
# (0 -> nunca coerente; 1 -> sempre coerente)
coerencia = 0 coerencia = 0
# definir factores de estrategia com base na estrategia # definir factores de estrategia com base na estrategia
def definir_fatores_estrategia(self): def definir_fatores_estrategia(self):
match self.estrategia: match self.estrategia:
case Estrategia.Neutro: case Estrategia.Neutro:
@ -51,7 +57,6 @@ class Agente():
self.coerencia = 0.5 self.coerencia = 0.5
agente = Agente() agente = Agente()
print(f'ID: {agente.id_agente}') print(f'ID: {agente.id_agente}')
@ -68,4 +73,4 @@ print(f'\tCOerência: {agente.coerencia}')
# for estrategia in lista_estrategias: # for estrategia in lista_estrategias:
# print(estrategia) # print(estrategia)
#print(lista_estrategias) # print(lista_estrategias)