Código: enum.Enum (Enumerações)

This commit is contained in:
Luiz Otávio
2022-11-30 10:29:32 -03:00
parent c58aed382f
commit 9aaf8e6f50

View File

@@ -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)