Artigo original: 11 Python Projects Junior Developers Can Build for Coding Practice

É necessário construir projetos para dominar o desenvolvimento de software.

Não um.

Nem dois.

Muitos projetos!

No entanto, você deve começar da maneira correta. Se você começar qualquer projeto aleatório como desenvolvedor iniciante ou júnior, não apenas se sentirá perdido como também começará a questionar se programação é para você. Portanto, trabalhe de maneira inteligente.

Comece do mais simples.

Primeiro, melhore sua confiança a partir de um projeto pequeno. Depois, de outro projeto pequeno. Depois de vários desses projetos pequenos, passe para algo maior e vá tão longe quanto sua imaginação permitir.

Antes de construir qualquer projeto, aprenda o básico

Se você não aprender o básico, você estará construindo sobre uma base frágil.

image-307

Independentemente do nível de domínio que você espera alcançar em Python, você precisará desses fundamentos antes de começar qualquer projeto.

Você precisa saber como:

  • declarar variáveis
  • receber dados inseridos pelo usuário
  • armazenar informações
  • repetir uma ação através de laços de repetição
  • escrever funções para reaproveitar blocos de código

É basicamente isso.

Naturalmente, há mais a ser aprendido em Python, mas esse é o básico que você precisa saber. Será suficiente para você começar projetos para iniciantes.

Há aquela sensação tentadora de que você precisa terminar diversos tutoriais em Python antes de trabalhar em qualquer projeto.

Não siga por esse caminho.

Muitos caem na armadilha de seguir um tutorial atrás do outro até se sentirem ultrapreparados. Em vez disso, aprenda o básico primeiro. Em seguida, construa alguns projetos pequenos. Feito isso, volte a aprender com mais tutoriais.

Vá por mim, você pode terminar 100 tutoriais e ainda sentir que não está pronto para construir projeto algum.

Estudar por conta própria não é suficiente.

Você precisa aplicar o que aprendeu.

Como fazer uso desses projetos

  • Primeiro, leia as instruções e certifique-se de que as entendeu. Tente expressar com suas próprias palavras o que tiver entendido delas.
  • Tente solucionar o problema por conta própria sem buscar um tutorial no YouTube ou um código semelhante no GitHub. Provavelmente, vai ser difícil. Tudo bem. Dê o seu melhor. Essa é a ideia de prática deliberada (texto em inglês) da Psicologia Comportamental.
  • Se você não conseguiu progredir por conta própria, assista ao tutorial do YouTube e veja o código de exemplo. Você também pode pesquisar na internet por mais tutoriais de exemplo e outros códigos em Python que visam resolver o mesmo problema.
  • Depois disso, tente dar um passo atrás e escrever o código sozinho sem olhar o tutorial. De novo: dê o seu melhor. Esse é o chamado grit (às vezes traduzido como garra), também da Psicologia Comportamental (vídeo com legenda em português disponível). Você precisa disso.
  • Em hipótese alguma você deve copiar cegamente o código do tutorial e se dar por satisfeito. Você até pode terminar o projeto rapidamente, mas a realidade é que você não aprendeu nada.
  • Se você por acaso sentir que está travado após várias tentativas, faça uma pausa. Sabemos pelas pesquisas neurocientíficas (texto em inglês) que o nosso subconsciente continua aprendendo mesmo quando paramos. Isso acontece porque nossa mente muda do modo focado para o modo difuso.
  • Quando conseguir resolver um problema, comemore! É importante ter esse reforço positivo para construir referências do seu sucesso. No futuro, quando sua mente disser "Você não vai conseguir" e fizer você duvidar do seu potencial, você pode responder a ela: "não é verdade; e eis a prova de que consegui no passado e vou conseguir agora também".
  • Repita, repita, repita.

Você também poderá usar essas dicas para outros projetos além dos que serão listados abaixo. Agora, vamos aos projetos em Python.

Projetos para desenvolvedores juniores de Python

Aqui estão alguns projetos amigáveis para iniciantes que você pode desenvolver:

  1. Par ou ímpar
  2. Jogo Mad Libs
  3. Contador de palavras
  4. Informações biográficas
  5. Qual é a sigla?
  6. Pedra, papel, tesoura
  7. Adivinhar o número
  8. Verificador de palíndromo
  9. Calculadora de gorjeta
  10. Divisor de e-mail
  11. Gerador de letras de música

Par ou ímpar

Dê boas-vindas ao usuário e peça-o para inserir um número de 1 a 1000.

Depois de o usuário informar o número, verifique se ele é par ou ímpar e diga ao usuário.

Exemplo:

  • Mensagem: Em qual número você pensou?
  • Entrada: 25
  • Saída: Esse é um número ímpar! Gostaria de verificar outro?

Jogo Mad Libs

Peça ao usuário para informar alguns valores.

Eles podem ser qualquer coisa como um nome, um adjetivo, um pronome ou mesmo uma ação. Uma vez recebidos esses valores, reorganize-os e crie uma história.

Contador de palavras

Peça ao usuário que informe em uma frase algo em que ele pensou. Depois, conte o número de palavras na sentença informada e mostre esse valor na tela.

Examplo:

  • Mensagem: Informe em uma frase algo em que você pensou hoje .
  • Entrada: Bem, é só mais um dia para eu ser um profissional em programação .
  • Saída: Legal! Você acabou de me dizer no que pensou usando 13 palavras!

Para dar um passo mais adiante: abra um arquivo com conteúdo textual nele, conte o número de palavras no texto e mostre esse valor na tela.

Eis aqui um código de exemplo no Github.

Informações biográficas

Faça algumas perguntas pedindo informações sobre o usuário. Em seguida, verifique se as informações inseridas são válidas. Por fim, mostre um resumo de todas as informações que foram introduzidas.

Exemplo: Qual é o seu nome? Se o usuário informar *, a aplicação deve informar que esse é um nome inválido e pedir que o usuário informe um nome válido.

Ao final, deve ser exibido na tela um resumo como este:

- Nome: João da Silva
- Data de nascimento: 1 de Janeiro de 1954
- Endereço: Avenida das flores, 1500, São Paulo
- Objetivos: Ser o melhor programador que já existiu.

Qual é a sigla?

Peça ao usuário para informar um conceito ou o nome de alguma organização. A aplicação deve retornar uma sigla adequada. Por exemplo:

  • Entrada -> O Mais Rápido Possível. Saída -> OMRP.
  • Entrada -> Organização Mundial da Saúde. Saída -> OMS.
  • Entrada -> Ausência Sem Justificativa. Saída -> ASJ.

Pedra, papel, tesoura

Esta é uma brincadeira popular entre duas pessoas. Cada jogador usa uma das mãos para formar uma das seguintes opções:

  • pedra (mão fechada)
  • papel (mão aberta)
  • tesoura (estender apenas os dedos indicador e médio da mão em formato de V)

Veja aqui um tutorial no YouTube sobre como programar um jogo de pedra-papel-tesoura em Python (vídeo em inglês).

Adivinhar o número

A aplicação deve pedir ao usuário para adivinhar um número entre 1 e 50.

Se o usuário informar um número fora desse intervalo, deve ser exibida uma mensagem de erro lembrando-o dos valores aceitos.

Sempre que o usuário errar o número, a aplicação deve perguntar se ele gostaria de tentar novamente ou de desistir.

Se o jogador conseguir acertar o número, parabenize-o e exiba o número de tentativas que ele fez até acertar.

Você pode conferir aqui um tutorial no YouTube para programar um jogo de adivinhar o número em Python (vídeo em inglês).

Verificador de palíndromo

Peça ao usuário que informe cinco palavras. Em seguida, verifique se alguma das cinco palavras é um palíndromo.

Um palíndromo é uma palavra que permanece a mesma, caso seja lida da esquerda para a direita ou no sentido inverso.

Exemplo:

  • radar é um palíndromo.
  • salas também é.
  • geeks não é.

Aqui temos um código de exemplo no Github para esse projeto.

Calculadora de gorjeta

O objetivo dessa aplicação é calcular o quanto de gorjeta deve-se pagar pelo serviço. Nesse cenário, é preciso pedir pelo valor total da conta. Depois, é preciso exibir na tela as opções de gorjeta: 18%, 20% ou 25% do valor total da conta.

Exemplo:

  • Mensagem: Qual o valor total da conta?
  • Entrada: R$ 55,87
  • Saída: 18% de gorjeta equivale a R$ 10,06; o que aumenta o total a ser pago para R$65,93

Lembre-se de arredondar os valores para cima para ter números mais amigáveis. Se quiser ir mais além, pode perguntar o número de pessoas envolvidas para dividir igualmente o valor da conta e da gorjeta entre eles.

Se quiser ir mais longe ainda, faça essa divisão de valores de maneira proporcional. Por exemplo: uma pessoa paga 70% do valor e outra paga 30%.

Divisor de e-mail

Receba o endereço de e-mail do usuário e verifique se ele tem um domínio próprio ou popular. Por exemplo:

  • Entrada: mary.jane@gmail.com
  • Saída: Olá, Mary. Vejo que seu e-mail está registrado no Google. Que bacana!.
  • Entrada: peter.pan@myfantasy.com
  • Saída: Oi, Peter. Parece que você tem sua própria configuração personalizada no MyFantasy. Impressionante!.

Esse é um projeto em Python bem útil e que pode ser bastante usado futuramente. O programa ajuda a obter o nome de usuário e o nome do domínio de um endereço de e-mail.

Se quiser ir mais adiante, você pode personalizar a aplicação para enviar uma mensagem para o host com essa informação.

Você pode conferir este tutorial no YouTube (vídeo em inglês) e este exemplo de código no Github sobre o projeto.

Gerador de letras de música

Peça ao usuário para escolher uma música de uma lista de 10 músicas exibidas. Depois de o usuário fazer isso, exiba a letra da música selecionada.

Exemplo:

Seja bem-vindo. Por favor, selecione uma dentre as 10 músicas a seguir:

1. Baby, de Justin Bieber
2. Hotline Bling, de Drake
3. Flawless, de Beyonce
4. Fall, de Eminem
Você escolheu Flawless, de Beyonce. Aqui está a letra da música:

---------- Flawless, de Beyonce ------------
I'm out that H, town coming coming down
I'm coming down, drippin' candy on the ground
H, Town, Town, I'm coming down, coming down
Drippin' candy on the ground...

Pressione * para escolher outra música.

Para desenvolver mais o projeto, tenha pelo menos 3 músicas para cada artista.

Assim, peça para o usuário escolher pelo nome do artista e depois selecionar uma música daquele mesmo artista. Assim, o usuário pode escolher uma música específica da lista exibida.

Finalizando

Trabalhando nesses projetos, você pode se deparar com alguns obstáculos e ficar completamente desanimado. Mantenha a calma. Você consegue.

Lembre-se: faça uma pausa e tente de novo mais tarde. Você também pode ler estas histórias de diversos programadores (texto em inglês) que conseguiram manter a motivação e seguir adiante.

Desenvolvimento de software é uma área difícil, mas tem muitas recompensas.

Se tantos outros conseguiram, você também consegue.

Obrigado pela leitura

Se gostou deste texto, pode conferir outros como ele.

Atenção — o autor é apaixonado por pesquisa. Por isso, ele adverte que tem uma tendência a usar abordagens e conceitos da Psicologia Comportamental e da Neurociência.