From 9aaf8e6f50145d386faaabdb04f5fa5327a6c4ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luiz=20Ot=C3=A1vio?= Date: Wed, 30 Nov 2022 10:29:32 -0300 Subject: [PATCH] =?UTF-8?q?C=C3=B3digo:=20enum.Enum=20(Enumera=C3=A7=C3=B5?= =?UTF-8?q?es)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aula157.py | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/aula157.py b/aula157.py index c8c352f..bc4f9a3 100644 --- a/aula157.py +++ b/aula157.py @@ -14,12 +14,30 @@ # membro = Classe(valor), Classe['chave'] # chave = Classe.chave.name # valor = Classe.chave.value +import enum -def mover(direcao): - print(f'Movendo para {direcao}') +# Direcoes = enum.Enum('Direcoes', ['ESQUERDA', 'DIREITA']) -mover('esquerda') -mover('direita') -mover('acima') -mover('abaixo') +class Direcoes(enum.Enum): + ESQUERDA = enum.auto() + DIREITA = enum.auto() + ACIMA = enum.auto() + ABAIXO = enum.auto() + + +print(Direcoes(1), Direcoes['ESQUERDA'], Direcoes.ESQUERDA) +print(Direcoes(1).name, Direcoes.ESQUERDA.value) + + +def mover(direcao: Direcoes): + if not isinstance(direcao, Direcoes): + raise ValueError('Direção não encontrada') + + print(f'Movendo para {direcao.name} ({direcao.value})') + + +mover(Direcoes.ESQUERDA) +mover(Direcoes.DIREITA) +mover(Direcoes.ACIMA) +mover(Direcoes.ABAIXO)