Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Conversor de Tipos

O que estou aprendendo?

Nesta atividade, estou aprendendo a criar funções para conversão e validação de tipos de dados. O objetivo é compreender que, em muitos sistemas, as informações são recebidas como texto, mas precisam ser convertidas para números antes de serem utilizadas em cálculos e análises.

Solução da atividade da Alura

def converter_telefones(lista):
    return [int(telefone) for telefone in lista]

def verifica_tipos(lista):
    for num in lista:
        if not isinstance(num, int):
            return "Erro na conversão."

    return "Todos os números foram convertidos corretamente!"

telefones = ["11987654321", "21912345678", "31987654321", "11911223344"]

telefones_convertidos = converter_telefones(telefones)

print(verifica_tipos(telefones_convertidos))

Nesta atividade, foram utilizados dois conceitos importantes:

  • Conversão de tipos utilizando int();
  • Verificação de tipos utilizando isinstance().

O sistema primeiro transforma os dados e depois verifica se a transformação ocorreu corretamente.

Aplicação na Plataforma AFA

Na Plataforma AFA, a mesma lógica pode ser utilizada para tratar os dados provenientes dos formulários de observação dos professores.

Os registros são inicialmente recebidos como texto e representam evidências positivas ou negativas da participação e do desempenho dos estudantes.

Exemplos de registros:

1,0
0,5
0,3
-0,2
-0,5
-1,0

Antes de realizar cálculos ou gerar indicadores, o sistema precisa converter esses valores para números.

def converter_registros(lista):
    return [float(valor) for valor in lista]

def verificar_registros(lista):
    for valor in lista:
        if not isinstance(valor, float):
            return "Erro na conversão dos registros."

    return "Todos os registros foram convertidos corretamente."

registros = ["1.0", "0.5", "0.3", "-0.2", "-0.5", "-1.0"]

registros_convertidos = converter_registros(registros)

print(verificar_registros(registros_convertidos))

Após a conversão, os registros podem ser utilizados para gerar indicadores pedagógicos.

def calcular_pontuacao_afa(registros):
    return sum(registros)

registros = [1.0, 0.5, 0.3, -0.2, -0.5, -1.0]

pontuacao = calcular_pontuacao_afa(registros)

print(f"Pontuação AFA: {pontuacao}")

Atenção Importante

Nesta aplicação, a conversão dos dados não tem como objetivo calcular notas convencionais de 0 a 10. Os valores representam evidências positivas e negativas registradas pelos professores ao longo do processo de acompanhamento da aprendizagem.

Por isso, a etapa de conversão é fundamental para garantir que os registros possam ser utilizados corretamente na geração de indicadores pedagógicos, relatórios e análises do estudante.

O que realmente aprendi?

O exercício parece ensinar apenas a converter telefones de texto para números.

Mas o conceito transferível é muito mais amplo:

Receber dados
↓
Converter dados
↓
Validar dados
↓
Utilizar dados com segurança

Na atividade da Alura:

Telefone em texto
↓
Telefone numérico
↓
Validação

Na Plataforma AFA:

Formulário de observação
↓
Registros recebidos como texto
↓
Conversão para valores numéricos
↓
Validação
↓
Cálculo da pontuação AFA
↓
Geração de indicadores pedagógicos

Percebi que o principal aprendizado desta atividade foi compreender que sistemas confiáveis precisam garantir a qualidade e a consistência dos dados antes de realizar qualquer cálculo. No contexto da Plataforma AFA, essa etapa é essencial para assegurar que os indicadores de participação, desenvolvimento e acompanhamento da aprendizagem sejam produzidos a partir de informações válidas e confiáveis.

1 resposta

Oi, Patricia. Tudo bem com você?

O código que você compartilhou executa perfeitamente a proposta de conversão e validação de tipos usando list comprehension e a função isinstance, demonstrando ótimo domínio sobre manipulação de dados em Python. Além disso, a forma como você transportou essa lógica de conversão e tratamento textual para o ecossistema da Plataforma AFA, aplicando em indicadores pedagógicos, evidencia uma excelente capacidade de abstração técnica para cenários reais de engenharia de software.

Como uma dica construtiva para futuras expansões do seu projeto, ao realizar a conversão com o construtor float ou int, o interpretador pode disparar um erro do tipo ValueError se a entrada contiver algum caractere que não seja estritamente numérico, como uma letra digitada por engano.

Considerando esse fluxo de validação e consistência que você desenhou para os formulários de observação dos professores, como você planeja contornar possíveis inconsistências na entrada antes que o método de conversão seja executado pelo sistema?

Parabéns pelo excelente trabalho desenvolvido e dedicação contínua, o fórum permanece inteiramente à sua disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!