1
resposta

[Projeto] Desafio: hora da prática

Questão 07:
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Questão 08
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Questão 09
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Laís. Como vai?

Parabéns por finalizar essa bateria de exercícios! Você mandou muito bem na lógica de controle de fluxo e na organização das estruturas condicionais dentro dos laços.

Analisando suas soluções, aqui estão alguns pontos técnicos que merecem destaque para o seu crescimento como desenvolvedora de dados:

1. Sistema de Votação (Questão 07)

Sua estrutura de if/elif está muito bem organizada.

  • Ponto positivo: Você tratou corretamente os votos nulos (5) e brancos (6) e ainda incluiu uma mensagem de "Voto inválido" no else, o que é uma excelente prática de User Experience (UX).
  • Lógica de Vencedor: Notei que você usou uma sequência de and para verificar o vencedor. Isso funciona bem para 4 candidatos. No futuro, você aprenderá a usar Listas e a função max(), o que reduzirá essas 10 linhas de código para apenas uma ou duas!

2. Faixas Etárias (Questão 08)

Utilizar idade >= 0 como condição de parada é a forma clássica de criar um loop infinito controlado pelo usuário.

  • Sugestão técnica: No Python, você pode simplificar as comparações de intervalo.
  • Em vez de: if idade >= 0 and idade <= 25:
  • Você pode usar: if 0 <= idade <= 25:
    Isso é o que chamamos de código Pythônico: mais legível e elegante.

3. Verificação de Números Primos (Questão 09)

Esta é uma das questões mais desafiadoras para quem está começando, e você resolveu com maestria!

  • Uso da Flag: Você utilizou a variável primo = True como uma "bandeira". Essa é a técnica correta. Se o programa encontrar qualquer divisor, ele abaixa a bandeira (False) e segue em frente.
  • Otimização: Para números muito grandes, você poderia usar o comando break logo após o primo = False. Isso faria o computador parar de procurar outros divisores assim que encontrasse o primeiro, economizando processamento.

Dica de Ouro: F-strings para Porcentagens

Na Questão 07, você calculou as porcentagens. Para deixar o resultado visualmente mais profissional, você pode usar as f-strings para formatar as casas decimais:

print(f"Porcentagem de votos nulos: {porcentagem_nulos:.2f}%")

O :.2f diz ao Python: "Mostre apenas duas casas após a vírgula".

Você está avançando rápido, Laís! Qual dessas três questões foi a que mais exigiu "queimar os neurônios" para estruturar a lógica?