Skip to content

Instantly share code, notes, and snippets.

@jurandysoares
Last active April 7, 2020 04:17
Show Gist options
  • Save jurandysoares/04fe2e5d84767bb3c1fa2bb656e56894 to your computer and use it in GitHub Desktop.
Save jurandysoares/04fe2e5d84767bb3c1fa2bb656e56894 to your computer and use it in GitHub Desktop.
Analisador de matrículas do IFRN
# Analisador de matrícula do IFRN
# 1ª versão: Imperativa
matricula = '20202144030000'
ano = matricula[:4]
periodo = matricula[4:5]
cod_curso = matricula[5:10]
cod_estudante = matricula[10:15]
print(f'Número de matrícula: {numero}')
print(f'Ano de ingresso: {ano}')
print(f'Período de ingresso: {periodo}')
print(f'Código do curso: {cod_curso}')
print(f'Código do estudante: {cod_estudante}')
# 2ª versão: Dicionário
num_mat = '20202144030000'
pos_campo = {
'ano': (0, 4),
'periodo': (4, 5),
'cod_curso': (5, 10),
'cod_estudante': (10, 15),
'numero': (0, 15),
}
matricula = {campo:num_mat[slice(*pos)] for (campo,pos) in pos_campo.items()}
# 3ª versão: Tuplas nomeadas
num_mat = '20202144030000'
from collections import namedtuple
Matricula = namedtuple('Matricula', 'numero ano periodo cod_curso cod_codigo')
matricula = Matricula(numero=num_mat,
ano=num_mat[:4],
periodo=num_mat[4:5],
cod_curso=num_mat[5:10],
cod_estudante=num_mat[10:15])
print(f'Número de matrícula: {matricula.numero}')
print(f'Ano de ingresso: {matricula.ano}')
print(f'Período de ingresso: {matricula.periodo}')
print(f'Código do curso: {matricula.cod_curso}')
print(f'Código do estudante: {matricula.cod_estudante}')
# 4ª versão: Orientada o objeto
num_mat = '20202144030000'
class Matricula:
def __init__(self, numero):
self.numero = numero
self.ano = numero[:4],
self.periodo = numero[4:5],
self.cod_curso = numero[5:10],
self.cod_estudante = numero[10:15])
matricula = Matricula(numero=num_mat)
print(f'Número de matrícula: {matricula.numero}')
print(f'Ano de ingresso: {matricula.ano}')
print(f'Período de ingresso: {matricula.periodo}')
print(f'Código do curso: {matricula.cod_curso}')
print(f'Código do estudante: {matricula.cod_estudante}')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment