Projetos Práticos em Python

Depois de se familiarizar com os conceitos básicos e intermediários de Python, a melhor maneira de consolidar o conhecimento é através da prática. Desenvolver projetos práticos permite que você aplique o que aprendeu e enfrente desafios do mundo real. Neste artigo, apresentaremos algumas ideias de projetos práticos que combinam o básico com aspectos intermediários de Python.

1. Aplicativo de To-Do List

Objetivo:

Criar um aplicativo simples de lista de tarefas onde o usuário pode adicionar, visualizar e remover tarefas.

Conceitos Aplicados:

  • Manipulação de listas e strings
  • Funções
  • Entrada e saída de dados
  • Manipulação de arquivos

Exemplo de Implementação:

 

def exibir_menu():
    print("1. Adicionar tarefa")
    print("2. Ver tarefas")
    print("3. Remover tarefa")
    print("4. Sair")

def adicionar_tarefa(tarefas):
    tarefa = input("Digite a tarefa: ")
    tarefas.append(tarefa)
    print("Tarefa adicionada com sucesso!")

def ver_tarefas(tarefas):
    if tarefas:
        for i, tarefa in enumerate(tarefas, start=1):
            print(f"{i}. {tarefa}")
    else:
        print("Nenhuma tarefa encontrada.")

def remover_tarefa(tarefas):
    ver_tarefas(tarefas)
    try:
        indice = int(input("Digite o número da tarefa a ser removida: "))
        if 0 < indice <= len(tarefas):
            tarefas.pop(indice - 1)
            print("Tarefa removida com sucesso!")
        else:
            print("Número de tarefa inválido.")
    except ValueError:
        print("Entrada inválida. Por favor, digite um número.")

def main():
    tarefas = []
    while True:
        exibir_menu()
        opcao = input("Escolha uma opção: ")
        if opcao == '1':
            adicionar_tarefa(tarefas)
        elif opcao == '2':
            ver_tarefas(tarefas)
        elif opcao == '3':
            remover_tarefa(tarefas)
        elif opcao == '4':
            break
        else:
            print("Opção inválida. Tente novamente.")

if __name__ == "__main__":
    main()

2. Jogo da Forca

Objetivo:

Desenvolver um jogo da forca onde o jogador deve adivinhar a palavra secreta antes de esgotar suas tentativas.

Conceitos Aplicados:

  • Manipulação de strings e listas
  • Estruturas de controle (loops e condicionais)
  • Funções

Exemplo de Implementação:

 

import random

def escolher_palavra():
    palavras = ["python", "desenvolvimento", "programacao", "codigo"]
    return random.choice(palavras)

def exibir_palavra_secreta(palavra, letras_adivinhadas):
    exibicao = [letra if letra in letras_adivinhadas else "_" for letra in palavra]
    print("Palavra: " + " ".join(exibicao))

def jogo_forca():
    palavra_secreta = escolher_palavra()
    letras_adivinhadas = []
    tentativas = 6
    while tentativas > 0:
        exibir_palavra_secreta(palavra_secreta, letras_adivinhadas)
        tentativa = input("Digite uma letra: ").lower()
        if tentativa in letras_adivinhadas:
            print("Você já tentou essa letra.")
        elif tentativa in palavra_secreta:
            letras_adivinhadas.append(tentativa)
            if all(letra in letras_adivinhadas for letra in palavra_secreta):
                print(f"Parabéns! Você adivinhou a palavra '{palavra_secreta}'!")
                break
        else:
            tentativas -= 1
            print(f"Letra incorreta. Você tem {tentativas} tentativas restantes.")
        if tentativas == 0:
            print(f"Game over! A palavra era '{palavra_secreta}'.")

if __name__ == "__main__":
    jogo_forca()

3. Analisador de Texto

Objetivo:

Desenvolver um programa que analise um texto fornecido pelo usuário, calculando o número de palavras, frases e caracteres.

Conceitos Aplicados:

  • Manipulação de strings
  • Estruturas de controle
  • Funções

Exemplo de Implementação:

 

import string

def analisar_texto(texto):
    num_caracteres = len(texto)
    num_palavras = len(texto.split())
    num_frases = texto.count('.') + texto.count('!') + texto.count('?')

    print(f"Número de caracteres: {num_caracteres}")
    print(f"Número de palavras: {num_palavras}")
    print(f"Número de frases: {num_frases}")

def main():
    texto = input("Digite o texto a ser analisado: ")
    analisar_texto(texto)

if __name__ == "__main__":
    main()

4. Conversor de Moedas

Objetivo:

Criar um programa que converte valores entre diferentes moedas usando taxas de câmbio fornecidas.

Conceitos Aplicados:

  • Manipulação de dados
  • Funções
  • Entrada e saída de dados

Exemplo de Implementação:

 

def converter_moeda(valor, taxa):
    return valor * taxa

def main():
    taxas_de_cambio = {
        "USD para EUR": 0.85,
        "EUR para USD": 1.18,
        "USD para BRL": 5.30,
        "BRL para USD": 0.19
    }

    print("Conversor de Moedas")
    for chave in taxas_de_cambio.keys():
        print(chave)

    opcao = input("Escolha a conversão desejada: ")
    if opcao in taxas_de_cambio:
        valor = float(input("Digite o valor a ser convertido: "))
        resultado = converter_moeda(valor, taxas_de_cambio[opcao])
        print(f"Valor convertido: {resultado:.2f}")
    else:
        print("Opção de conversão inválida.")

if __name__ == "__main__":
    main()

Conclusão

Desenvolver projetos práticos é uma excelente maneira de consolidar e aplicar seus conhecimentos em Python. Os projetos apresentados aqui combinam conceitos básicos e intermediários, permitindo que você pratique e desenvolva suas habilidades de programação. Continue desafiando-se com novos projetos e explorando mais profundamente os recursos que a linguagem Python oferece. Boa sorte e divirta-se codificando!

Rolar para cima