Ao desenvolver aplicações em Python, é comum precisar criar menus para organizar as funcionalidades disponíveis ao usuário. Em vez de escrever o mesmo código várias vezes, podemos utilizar funções, listas e laços de repetição para tornar o programa mais limpo, organizado e reutilizável.

Neste artigo, vamos explorar como construir um sistema de menus utilizando conceitos fundamentais da linguagem Python, como criação de funções, parâmetros, listas e o laço for. Além disso, veremos como evoluir a solução para permitir a criação de diferentes menus sem duplicar código.

Objetivo do Desafio

O desafio consiste em desenvolver um sistema de menus em Python aplicando boas práticas de programação. A proposta é criar funções reutilizáveis que facilitem a manutenção e a expansão do código.

Os principais objetivos são:

  • Criar uma função responsável por exibir cabeçalhos formatados.

  • Criar uma função para montar o menu principal.

  • Utilizar uma lista para armazenar as opções do menu.

  • Percorrer essa lista utilizando um laço for.

  • Organizar o código em funções reutilizáveis.

Criando a Função de Cabeçalho

O primeiro passo é criar uma função chamada cabecalhos(), responsável por exibir um título centralizado entre linhas de separação compostas pelo caractere =.

Essa abordagem evita repetir o mesmo trecho de código sempre que um novo título precisar ser exibido.

Exemplo de saída:

=========================
      MENU INICIAL
=========================

Ao receber o texto do cabeçalho como parâmetro, a função pode ser utilizada em diferentes partes da aplicação.

Construindo o Menu Inicial

A segunda etapa é criar a função menu_inicial(). Sua responsabilidade será montar e exibir o menu da aplicação.

Dentro dessa função, a primeira ação será chamar cabecalhos() para exibir o título MENU INICIAL.

Em seguida, as opções serão armazenadas em uma lista, por exemplo:

[
    "1 - Login",
    "2 - Cadastro",
    "0 - Sair"
]

O uso de listas torna o código mais organizado e facilita futuras alterações, como adicionar ou remover opções.

Quer acelerar sua evolução como programador? Entenda por que errar faz parte do processo de aprendizagem e como transformar cada falha em experiência prática. Leia agora: O verdadeiro aprendizado acontece quando você erra.
👉 https://entrebugsesolucoes.com.br/posts/o-verdadeiro-aprendizado-acontece-quando-voce-erra/

Percorrendo as Opções com o Laço for

Após criar a lista, utiliza-se um laço for para percorrer cada item e imprimi-lo na tela.

Essa solução é muito mais eficiente do que escrever um comando print() para cada opção, especialmente quando o menu cresce ao longo do desenvolvimento da aplicação.

O resultado esperado será:

=========================
      MENU INICIAL
=========================
1 - Login
2 - Cadastro
0 - Sair

Organização e Reutilização do Código

Uma das maiores vantagens de dividir o programa em funções é a reutilização.

Ao invés de repetir o mesmo código em diferentes partes da aplicação, basta chamar a função sempre que necessário.

Essa prática oferece diversos benefícios:

  • Código mais organizado.

  • Facilidade para manutenção.

  • Menor quantidade de código repetido.

  • Maior legibilidade.

  • Facilidade para expansão do sistema.

O Desafio Extra

Após concluir o exercício básico, o desafio propõe uma melhoria interessante: tornar a função menu_inicial() mais genérica.

Em vez de exibir apenas MENU INICIAL, ela passa a receber um parâmetro com o título desejado.

Dessa forma, a mesma função poderá criar diferentes menus, como:

  • MENU USUÁRIO

  • MENU ADMINISTRADOR

  • MENU CONFIGURAÇÕES

Tudo isso sem duplicar código, seguindo um dos princípios mais importantes da programação: a reutilização.

Conceitos Praticados

Durante o desenvolvimento deste desafio, são exercitados diversos fundamentos importantes da linguagem Python:

  • Criação de funções.

  • Uso de parâmetros.

  • Reutilização de código.

  • Manipulação de listas.

  • Laços de repetição com for.

  • Organização e estruturação de programas.

Esses conceitos servem como base para projetos maiores e ajudam a desenvolver soluções mais profissionais e fáceis de manter.

Conclusão

Embora seja um exercício simples, esse desafio reúne diversos conceitos essenciais para quem está aprendendo Python. Ao criar funções reutilizáveis, utilizar listas para armazenar informações e percorrê-las com o laço for, o desenvolvedor começa a escrever códigos mais organizados, escaláveis e alinhados às boas práticas da programação.

Além disso, o desafio extra incentiva a criação de funções genéricas, capazes de atender diferentes necessidades sem repetir lógica, uma habilidade indispensável para o desenvolvimento de aplicações mais robustas.

Dominar esses fundamentos é um passo importante para construir sistemas cada vez mais completos e preparados para evoluir conforme novas funcionalidades forem sendo adicionadas.