5 Ideias de Projetos em python para Iniciantes

5 projetos em python para iniciantes

Quais são os 5 projetos em Python para iniciantes que recomendo?

Você assistiu dezenas de vídeos, já leu algumas postagens ensinando como usar variáveis e condicionais em Python e acredita que está pronto para criar algumas soluções, mas está sem ideia por onde começar?

Talvez eu possa te ajudar. Montei essa lista com 5 ideias de projetos em Python para iniciantes, porque como foi no caso do trabalho remoto onde ganhava R$10,000 por mês, os projetos que havia desenvolvido fizeram toda a diferença e ainda são a melhor maneira de praticar e aprender.

Este conteúdo está também disponível no formato de vídeo. Espero que esteja pronto  para quebrar a cabeça, colocar uns projetos no currículo e se divertir no processo com esses desafios. Vamos começar!

1. Simulador de Dado

Objetivo: Seu script deve gerar um valor aleatório entre 1 e 6(ou uma faixa que você definir) e permitir que o usuário rode o script quantas vezes quiser.

Habilidades praticas a aplicar:

  • Tratamento de exceções
  • Condicionais If/Else
  • Input de dados
  • Geração de valores
  • Print

Detalhes e boas Práticas: Você deve desenvolver um projeto em Python que irá rodar inicialmente na linha de comando e que, ao ser executado, deverá pergunta o seguinte ao usuário: “Você gostaria de jogar o dado?” Ou alguma variação dessa pergunta. Depois de ter feito essa pergunta, o seu programa precisa avaliar a resposta que foi digitado pelo usuário.

Um passo importante aqui é que, quando digo avaliar quero dizer que você precisa receber o valor, tratar quando ele(a) disser que sim ou que não. Seu programa depois deverá fazer a ação necessária de acordo com a resposta que foi entrada pelo usuário. Seu script não deve quebrar ou para de funcionar caso o usuário entre algo que não seja esperado, como, por exemplo, um número. Trate as exceções ou erros para que seu script rode liso e sem problemas.

Caso a resposta a pergunta inicial tenha sido “sim” ou positiva de alguma forma, gere um valor aleatoriamente entre 1 e 6(você pode claro alterar essa faixa) e exiba o número no console para o usuário. Na sequência pergunte se ele(a) quer rodar o script novamente e trate essa situação para que continue rodando enquanto a resposta for positiva, fechando apenas quando for um “não”.

2. Chute o número

Objetivo: Criar um script que gerá um valor aleatoriamente, guarda este valor, e pergunta repetidamente para o usuário chutar o valor gerado até que ele acerte.

Habilidades praticas a aplicar:

  • Random
  • Comparadores matemáticos
  • Controle de Fluxo
  • Entrada de dados
  • Saida de dados

Detalhes e boas Práticas: Você deve criar um projeto para rodar na linha de comando que ao iniciar, irá gerar, armazenar, porem não exibir um valor aleatório entre um valor mínimo e máximo que será definido por você ( 10-100, por exemplo). Com esse valor gerado e armazenado de alguma forma que você (o criador ou jogador do script) não possa ver, faça uma pergunta do tipo: “Chute um número” para quem estiver rodando o script e com isso o programa deve gravar a resposta que foi passada.

Depois disso você terá 3 caminhos possíveis: 1. Avisar que a pessoa chutou baixo, 2 dizer que chutou alto ou parabenizar dizer que acertou! Considerando os três possíveis caminhos que podem ser seguidos, você deve cuidar para que em todo o momento a entrada de dados seja tratado para exceções e que caso o usuário digite algo inesperado, que ele receba uma mensagem amigável o informando das possíveis opções que seu programa oferece. Isso deve continuar acontecendo indefinitivamente até que a pessoa acerte o número ou desista por não conseguir acertar hahaha(acontece).

3. Decida por mim

Objetivo: Crie um script que responda qualquer pergunta que for feita a ele. Recomendo ter uma base de possíveis respostas (10-20 ou mais). Ex: Será que devo sair de casa hoje? Seu script reponde: “Sim, vai lá!”

Detalhes e boas Práticas:

Habilidades praticas a aplicar:

  • Listas
  • Random
  • Laços de Repetição
  • Input de dados
  • Saida de dados
  • Geração de valores

4. Jogo de Aventura

Objetivo: Crie um jogo que levará o usuário a vários possíveis finais de acordo com as respostas que forem passadas para ele.

Habilidades praticas a aplicar:

  • Controle de fluxo elaborado
  • If/else
  • While
  • Input de dados
  • Saida de dados
  • Listas

Detalhes e boas Práticas: Imagine que você vai criar uma história onde o protagonista é a pessoa rodando o seu script e cada pergunta respondida moverá a pessoa na sua história de acordo com as condições que você determinar. As possibilidades aqui são infinitas, você pode ter um jogo bem curto com poucos finais ou uma árvore gigantesca de finais. Receba o valor do usuário e trate a resposta para que respostas não válidas não quebrem o programa. Você deverá permitir que o usuário tente novamente quanto ele chegar em um dos possíveis finais. Encoraje que ele tente várias vezes para ver todos os possíveis finais.

 

5. GUI(PySimpleGUI)

Objetivos: Seus projetos em Python tem uma chance muito maior de serem vistos e notados caso você crie uma interface gráfica(GUI) para todos seus projetos anteriores. Adoro trabalhar com a linha de comando, mas quando quero mostrar meus projetos a melhor forma que encontrei foi criando uma tela para eles. Hoje acredito que a maneira mais intuitiva, rápida e fácil que encontrei para fazer isso foi através da biblioteca PySimpleGUI. Ela permite criar uma interface gráfica com poucas linhas e inclusive criei um tutorial completo de “Como criar Interfaces em Python usando PySimpleGUI”.

Habilidades praticas a aplicar:

  • Criação de Interface
  • Design de Interface
  • Interatividade

Curtiu essa postagem? Sempre temos novidades por aqui 🙂

15 comentários em “5 Ideias de Projetos em python para Iniciantes”

  1. Consegui fazer o 1 e o 2 tranquilo. Tenho um certo domínio em python até chegar na parte de listas, depois disso não sei muito bem como dar continuidade em Python, gostaria muito de uma orientação sua em me dizer o que devo focar a partir de agora… Depois de laços de repetições, o que vem na ordem para que eu também não perca meu domínio sobre o assunto que já aprendi em Python. Por exemplo, quando devo estudar Collections, Orientação a Objetos, Estrutura de Dados em Python 1 e 2… Gostaria muito da sua ajuda em dar continuidade no meu aprendizado… Grande abraço e sempre acompanho seus vídeos no canal…

    1. Jhonatan de Souza

      Ótimo Claudio! Acredito que está indo muito bem nos estudos.
      Na minha opinião a sua próxima área de foco deve ser, sem dúvida em coleções.
      Uma forma que você pode fazer isso, é através da análise em projetos existentes(pode pesquisar no github), para ter certeza que você irá estar realmente aprendendo como coleções são usadas na prática, além de conceitos teóricos como listas, dicionários e afins.

      Eu encontraria projetos existentes no github, baixaria o código e depois analisaria os projetos existentes, assim você tira o que está vendo em teoria e aplica na prática.

      1. Ok, farei isso! Estou vendo também alguns materiais por fora, além de seus vídeos! Assisti ontem seu curso completo de python para iniciantes e me ajudou a esclarecer algumas dúvidas. Estou fazendo na prática um sistema de cadastro de produtos e gerenciamento de vendas. Acredito que conseguirei fazer a parte dos cadastros com listas ou até mesmo dicionários. Seu curso me abriu muito a mente. Agradeço o apoio! Quando eu estiver dominando bem a parte intermediaria de python, com certeza farei um curso seu avançado.. Espero que você lance um curso avançado de python, o primeiro aluno você já tem… Abraço!

    2. perguntas = [‘DEVO SAIR DE CASA HOJE?’, ‘QUANTOS ANOS EU TENHO?’, ‘ATOM OU SUBLIME TEXT?’]
      respostas = [‘NÃO’, ‘EU SEI LA PORRA’, ‘ATOM’]
      perguntaFeita = str(input(‘Pergunta: ‘)).upper()
      for x in range(0, 3):
      if perguntaFeita == perguntas[x]:
      print (respostas[x])

      eu fiz assim, n sei se é a melhor forma mas deu menos linha doq com if e elif, tenta entender o código q tu aprende rapidinho.

  2. Terminei os 4 primeiros. A quarta não é pra principiantes! kkkkk
    Como o 5 é uma proposta para refazer as 4 anteriores, só que com interface gráfica, vamos lá!

  3. RAFAEL PAIVA DIAS DA SILVA

    A respeito da interface PySimpleGUI será que vc poderia me ajudar com a utilização do Drop?

  4. Idéias muito legais! Vou tentar fazer esses projetos, o 5 vou usar o kivy. Tenho uma dúvida, na faculdade tivemos contato com programação na linguagem python e eu gostei muito, já vimos desde os fundamentos até programação orientada à objetos + interface gráfica com kivy, o que eu gostaria de saber é, tenho interesse em me aprofundar mais em python, o que eu deveria estudar agora?

  5. import random
    # FALTA IMPLEMENTAR A JOGADA DO OUTRO DADO…DEU PREGUIÇA!
    class Dado:

    def __init__(self, lados):
    self.__lados = lados
    @property
    def verifica_dado(self):
    if self.__lados == 6:
    return f’Dado de 6 lados’
    elif self.__lados == 20:
    return f’Dado de RPG’
    else:
    return f’O dado só pode ser de 6 ou 20 lados’

    def joga_dado(self):
    if self.__lados == 6:
    jogada = random.randint(1, 6)
    print(jogada)
    if self.__lados == 20:
    jogada = random.randint(1, 20)
    print(jogada)

    request = str(input(‘Você gostaria de jogar dados [S/ N]: ‘))
    if request == ‘S’:
    dado = int(input(‘Qual dado você quer jogas de 6 ou de 20 lados? ‘))
    if dado == 6:
    dado1 = Dado(6)
    print(dado1.verifica_dado)
    print(‘1º jogada:’)
    dado1.joga_dado()
    print(‘2° jogada:’)
    dado1.joga_dado()
    resp = str(input(‘Voce quer jogar mais[S/N]’))
    i = 3
    while resp == ‘S’:
    print(f'{i}° jogada:’)
    dado1.joga_dado()
    i+=1
    resp = str(input(‘Voce quer jogar mais[S/N]’))

    elif dado == 20:
    dado2 = Dado(20)
    print(dado2.verifica_dado)
    else:
    print(‘Obrigado. Da próxima vez jogamos’)

  6. Pietro Heineck

    Fiz o número 1 em 10 minutos +-
    tentei botar um while, mas, ainda to aprendendo essa parte, entao meu script ficou assim:

    dado = str(input(‘Deseja jogar dado? [S/N] ‘)).strip().upper()

    if dado == ‘S’:
    import random
    from time import sleep

    dados = [1, 2, 3, 4, 5, 6]
    sort = random.choice(dados)
    print(‘Ok’)
    sleep(0.6)
    print(‘Jogando dado…’)
    sleep(1.2)
    print(‘Dado girando…’)
    sleep(1)
    print(‘E o resultado é de…’)
    sleep(1)
    print(‘O dado girou e caiu no \033[34m{}’.format(sort))
    elif dado == ‘N’:
    print(‘Ok ;-;’)
    dado = str(input(‘Deseja jogar dado? [S/N] ‘)).strip().upper()
    if dado == ‘S’:
    import random
    from time import sleep

    dados = [1, 2, 3, 4, 5, 6]
    sort = random.choice(dados)
    print(‘Ok’)
    sleep(0.6)
    print(‘Jogando dado…’)
    sleep(1.2)
    print(‘Dado girando…’)
    sleep(1)
    print(‘E o resultado é de…’)
    sleep(1)
    print(‘O dado girou e caiu no [34m{}’.format(sort))
    elif dado == ‘N’:
    print(‘Ok ;-;’)
    else:
    print(‘Por favor digite um valor válido! ‘)

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *