O Que Você Vai Aprender
Nesta aula de 1 hora, você terá a oportunidade de aplicar todos os conceitos de funções aprendidos na semana. O foco será em resolver problemas práticos e, crucialmente, em refatorar um código existente para torná-lo mais modular e organizado utilizando funções. Prepare-se para solidificar seu conhecimento!
🛠️ Aplicar Conceitos de Funções
Utilizar funções para solucionar problemas de forma eficiente e modular.
♻️ Refatorar Código Procedural
Converter um código "desorganizado" em um código bem estruturado com funções.
Refatoração de Código: Tornando o Código Mais Limpo
Refatorar código significa reestruturá-lo sem alterar seu comportamento externo. Usar funções para refatorar é uma prática fundamental que melhora a organização, legibilidade e manutenibilidade do seu programa. Transforme blocos de código repetidos ou lógicos complexos em funções nomeadas e reutilizáveis.
Exemplo de Refatoração
Um programa que calcula a média de um aluno pode ser dividido em funções:
- `pedir_notas()`: Uma função que lida com a entrada de dados.
- `calcular_media(lista_de_notas)`: Uma função que realiza o cálculo da média.
- `verificar_status(media)`: Uma função que determina se o aluno foi aprovado ou reprovado.
# Código procedural (exemplo simples)
# nota1 = float(input("Digite a nota 1: "))
# nota2 = float(input("Digite a nota 2: "))
# media = (nota1 + nota2) / 2
# if media >= 7:
# print("Aprovado")
# else:
# print("Reprovado")
# Código refatorado com funções (conceito)
# def pedir_notas():
# # Lógica para pedir notas
# pass
# def calcular_media(notas):
# # Lógica para calcular
# return media
# def verificar_status(media):
# # Lógica para verificar
# pass
Refatoração: Simule o Cálculo de Média
Insira as notas (separadas por vírgula) para simular o cálculo da média refatorado com funções.
Resolução de Problemas com Funções
Agora é a hora de aplicar seu conhecimento em funções para resolver problemas práticos e integrados. Use as funções para tornar seu código modular e fácil de entender.
1. Calculadora Simples
Crie funções separadas para somar, subtrair, multiplicar e dividir. Em seguida, crie uma função principal que mostra um menu, pede ao usuário a operação e os números, chama a função apropriada e exibe o resultado.
2. Validador de CPF (simplificado)
Crie uma função `validar_cpf(cpf_string)` que retorna `True` ou `False`. A função deve verificar se o CPF tem exatamente 11 caracteres e se todos são dígitos (números).
Dica: Use `len()` para o comprimento e o método `.isdigit()` para verificar se a string contém apenas dígitos.
3. Verificador de Palíndromo (com função)
Revisite o exercício do palíndromo da semana 3, mas agora coloque toda a lógica de verificação dentro de uma função `eh_palindromo(texto)` que retorna `True` ou `False`.
Dica: A função deve limpar a string (remover espaços, converter para minúsculas) e comparar a string limpa com sua versão invertida. (Ex: "Anotaram a data da maratona").
Desafios para Continuar
Esta é a sua oportunidade de aprofundar o aprendizado! Tente resolver os problemas propostos individualmente ou em duplas no seu ambiente de desenvolvimento Python. Não se esqueça de discutir as soluções e as diferentes abordagens possíveis com seu instrutor e colegas, reforçando por que cada estrutura de dados e o uso de funções foram a escolha ideal para cada cenário.
-
✓
Implementar a Calculadora Simples
Escreva o código completo para a Calculadora Simples, garantindo que ela funcione com as funções de operação e um menu principal interativo.
-
✓
Refatorar o Cálculo de Média
Revisite o exercício do cálculo de média de um aluno (da Semana 2 ou um similar que você tenha) e refatore-o para usar as três funções sugeridas: `pedir_notas()`, `calcular_media(lista_de_notas)` e `verificar_status(media)`.