Como criar um conversor de moedas em Python passo a passo

Publicado em: 31/03/2026
Tempo de leitura: 9 minutos

Criar um conversor de moedas em Python é um dos projetos mais gratificantes para quem está começando no mundo da programação. Além de ser uma ferramenta extremamente útil no dia a dia, este projeto permite que você entenda como o software se comunica com o mundo real através de dados externos. Neste guia, você aprenderá como criar um conversor de moedas em Python passo a passo, explorando desde a lógica básica até a conexão com sistemas que fornecem taxas de câmbio em tempo real.

Python é a linguagem ideal para este tipo de tarefa devido à sua sintaxe limpa e à enorme variedade de bibliotecas em Python disponíveis. Ao desenvolver este script, você não apenas praticará a lógica de programação com Python, mas também aprenderá a manipular dados do tipo JSON no Python, que é o padrão de ouro para troca de informações na internet hoje em dia.

Por que automatizar a conversão de moedas?

No mercado financeiro globalizado, as taxas de câmbio variam a cada segundo. Tentar acompanhar essas mudanças manualmente em planilhas é cansativo e propenso a erros. Um script automatizado pode buscar o valor exato do Dólar, Euro ou qualquer outra moeda diretamente de fontes oficiais como o Banco Central do Brasil ou APIs internacionais de renome.

Ao construir seu próprio conversor, você ganha autonomia para integrar essa funcionalidade em sistemas maiores, como e-commerces, dashboards financeiros ou até mesmo bots de mensagens. É um excelente exercício para quem deseja dominar a automatização de processos e entender o fluxo de entrada e saída de dados em uma aplicação real.

Preparando o ambiente de desenvolvimento

Antes de começarmos a digitar o código, precisamos garantir que seu computador esteja pronto para o trabalho. O primeiro passo é ter o Python instalado. Se você ainda não tem, confira o guia sobre como instalar o Python de maneira correta no seu sistema operacional.

Para este projeto, utilizaremos a biblioteca requests, que é a ferramenta padrão para fazer requisições HTTP e acessar dados de sites externos. Como ela não vem instalada por padrão, você precisará abrir seu terminal e digitar o seguinte comando:

Bash
pip install requests

Se você encontrar dificuldades durante a instalação, pode ser necessário verificar se o seu ambiente virtual venv no Python está configurado corretamente. Trabalhar com ambientes virtuais evita conflitos entre diferentes projetos e mantém seu sistema limpo.

Como funciona a lógica de um conversor de moedas

A lógica por trás de um conversor de moedas é simples, mas requer atenção aos detalhes matemáticos. Basicamente, precisamos de três informações principais:

  • A moeda de origem (ex: BRL – Real Brasileiro).
  • A moeda de destino (ex: USD – Dólar Americano).
  • O valor que desejamos converter.

O programa então busca a taxa de câmbio atual. Se 1 Dólar vale 5 Reais, e queremos converter 10 Dólares para Reais, a conta é: 10 * 5 = 50. No entanto, para tornar o programa profissional, não utilizaremos valores fixos (“hardcoded”), pois eles ficariam defasados em poucos minutos. Vamos aprender como criar um conversor de moedas em Python passo a passo que busque esses dados dinamicamente.

Passo 1: Importando bibliotecas e configurando a API

O primeiro passo do nosso código é importar a biblioteca de requisições e definir a fonte dos dados. Usaremos uma API gratuita chamada AwesomeAPI, que fornece cotações atualizadas a cada 30 segundos e não exige chaves de acesso complexas para uso básico.

Python
import requests

def buscar_cotacao(moeda_origem, moeda_destino):
    url = f"https://economia.awesomeapi.com.br/json/last/{moeda_origem}-{moeda_destino}"
    try:
        resposta = requests.get(url)
        dados = resposta.json()
        return dados
    except Exception as e:
        print(f"Erro ao buscar dados: {e}")
        return None

Nesta etapa, estamos usando a biblioteca requests em Python para “bater na porta” do servidor da API e pedir as informações. O uso do bloco try-except é fundamental para evitar que o programa feche caso a internet caia ou o site esteja fora do ar.

Passo 2: Processando os dados recebidos

Quando a API responde, ela envia um arquivo JSON, que no Python funciona de forma muito parecida com os dicionários no Python. Precisamos extrair apenas o valor da cotação (geralmente identificado pela chave ‘bid’ ou ‘high’).

Python
def converter_valor(valor, moeda_origem, moeda_destino):
    dados = buscar_cotacao(moeda_origem, moeda_destino)
    
    if dados:
        # A API retorna uma chave composta, ex: 'USDBRL'
        chave = f"{moeda_origem}{moeda_destino}"
        taxa = float(dados[chave]['bid'])
        valor_convertido = valor * taxa
        return valor_convertido, taxa
    return None, None

Observe que transformamos o valor da taxa em um float em Python. Isso é necessário porque os dados vindos da internet costumam chegar como texto (string), e não podemos fazer cálculos matemáticos com texto.

Passo 3: Criando a interface de interação com o usuário

Agora precisamos de uma forma para o usuário digitar os valores. Utilizaremos a função básica de input no Python para capturar essas informações pelo terminal.

Python
def iniciar_conversor():
    print("--- Conversor de Moedas Inteligente ---")
    moeda_de = input("Moeda de origem (ex: USD): ").upper()
    moeda_para = input("Moeda de destino (ex: BRL): ").upper()
    
    try:
        quantia = float(input(f"Quanto de {moeda_de} você deseja converter? "))
        resultado, taxa = converter_valor(moeda_de, moeda_para)
        
        if resultado:
            print(f"Taxa atual: {taxa:.2f}")
            print(f"{quantia} {moeda_de} equivalem a {resultado:.2f} {moeda_para}")
        else:
            print("Não foi possível realizar a conversão. Verifique os códigos das moedas.")
    except ValueError:
        print("Por favor, digite um valor numérico válido.")

O método .upper() é um detalhe importante: ele garante que mesmo que o usuário digite “usd” em letras minúsculas, o programa entenda como “USD”, que é o padrão exigido pela maioria das APIs financeiras definidas pela ISO 4217.

Melhores práticas e tratamento de erros

Ao aprender como criar um conversor de moedas em Python passo a passo, você notará que erros podem acontecer. O usuário pode digitar letras onde deveriam estar números, ou o servidor da API pode demorar a responder. Para um código robusto, utilize sempre o try-except em Python.

Outro ponto crucial é a exibição dos dados. Usar f-strings ajuda a formatar o resultado com apenas duas casas decimais (ex: :.2f), o que é o padrão para valores monetários. Sem isso, seu programa poderia exibir algo como “5.456789123”, o que não é nada amigável para o usuário final.

Código Completo do Projeto

Aqui está o código unificado e pronto para ser executado. Você pode copiar este bloco, salvar em um arquivo chamado conversor.py e rodar diretamente no seu computador.

Python
import requests

def buscar_cotacao(origem, destino):
    """Faz a requisição para a API de câmbio."""
    url = f"https://economia.awesomeapi.com.br/json/last/{origem}-{destino}"
    try:
        resposta = requests.get(url)
        if resposta.status_code == 200:
            return resposta.json()
        return None
    except:
        return None

def main():
    print("="*30)
    print(" CONVERSOR DE MOEDAS PYTHON ")
    print("="*30)

    moeda_origem = input("Código da moeda de origem (ex: USD, BRL, EUR): ").upper()
    moeda_destino = input("Código da moeda de destino (ex: BRL, USD, BTC): ").upper()

    try:
        valor_venda = float(input(f"Valor a ser convertido ({moeda_origem}): "))
        
        # Busca os dados
        dados_api = buscar_cotacao(moeda_origem, moeda_destino)
        
        if dados_api:
            chave = f"{moeda_origem}{moeda_destino}"
            cotacao = float(dados_api[chave]['bid'])
            resultado = valor_venda * cotacao
            
            print("\n" + "-"*30)
            print(f"Cotação Atual: 1 {moeda_origem} = {cotacao:.4f} {moeda_destino}")
            print(f"Valor Convertido: {resultado:.2f} {moeda_destino}")
            print("-"*30)
        else:
            print("\n[Erro] Par de moedas não encontrado ou serviço indisponível.")
            
    except ValueError:
        print("\n[Erro] Entrada inválida. Digite apenas números para o valor.")
    except Exception as e:
        print(f"\n[Erro inesperado] {e}")

if __name__ == "__main__":
    main()

Expandindo o projeto: Próximos passos

Agora que você já sabe o básico sobre como criar um conversor de moedas em Python passo a passo, que tal levar o projeto para o próximo nível? Existem várias funcionalidades que você pode adicionar para tornar a ferramenta ainda mais poderosa:

  • Interface Gráfica: Use a biblioteca para criar interfaces gráficas com tkinter no Python, permitindo que usuários que não gostam do terminal usem seu programa.
  • Histórico de Conversões: Salve todas as consultas realizadas em um arquivo para consulta posterior usando arquivos CSV no Python.
  • Interface Web: Transforme seu script em um site real utilizando um tutorial em Flask ou FastAPI.
  • Notificações: Programe o script para te enviar uma mensagem se o Dólar cair abaixo de um determinado valor.

A programação é uma jornada de construção contínua. Cada pequena melhoria que você faz no seu script é um degrau a mais no seu aprendizado. Não tenha medo de quebrar o código tentando implementar algo novo!

Perguntas Frequentes

Como saber os códigos das moedas?

Os códigos seguem o padrão internacional ISO 4217. Os mais comuns são BRL (Real), USD (Dólar Americano), EUR (Euro), GBP (Libra Esterlina) e BTC (Bitcoin).

Preciso pagar para usar a API de moedas?

Nesse tutorial usamos a AwesomeAPI, que é gratuita para consultas pontuais. Para sistemas que exigem milhares de consultas por segundo, existem planos pagos em serviços como Open Exchange Rates.

O programa funciona sem internet?

Não. Como taxas de câmbio mudam constantemente, o script precisa se conectar a um servidor externo para buscar os dados em tempo real.

Posso converter criptomoedas com este código?

Sim, a API utilizada suporta cotações de Bitcoin (BTC), Ethereum (ETH) e Litecoin (LTC) em relação a diversas moedas fiduciárias.

O que significa ‘bid’ no retorno da API?

‘Bid’ refere-se ao preço de compra da moeda no mercado financeiro. É o valor que o mercado está disposto a pagar por aquela moeda naquele exato momento.

Como transformar esse script em um programa (.exe)?

Você pode usar uma ferramenta chamada PyInstaller para empacotar seu código e todas as bibliotecas em um único arquivo executável para Windows.

Por que usar float e não int para os valores?

Porque moedas possuem centavos (casas decimais). O tipo de dado ‘int’ aceita apenas números inteiros, o que causaria erros de arredondamento graves em finanças.

Esse código serve para um aplicativo profissional?

Ele é um excelente ponto de partida. Para aplicações críticas, você precisaria adicionar logs de erro profissionais, chaves de API seguras e uma arquitetura mais orientada a objetos.

Dominar a manipulação de APIs e a conversão de dados é um marco na carreira de qualquer desenvolvedor. Continue praticando, explore novas bibliotecas e tente integrar esse conhecimento em seus desafios diários!

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Conteúdo do artigo

    Artigos relacionados

    Projetos
    Foto do Leandro Hirt

    Como criar um gerenciador de senhas simples com Python

    A segurança digital tornou-se uma prioridade no cotidiano de qualquer pessoa que navega na internet. Com dezenas de contas e

    Ler mais

    Tempo de leitura: 12 minutos
    01/03/2026
    Projetos
    Foto do Leandro Hirt

    Como gerar QR Code com Python em poucos minutos

    Gerar um código de resposta rápida, o famoso QR Code, tornou-se uma habilidade essencial para desenvolvedores que buscam facilitar a

    Ler mais

    Tempo de leitura: 12 minutos
    26/02/2026
    Projetos
    Foto do Leandro Hirt

    Como fazer seu primeiro jogo de Pong com Python

    Aprender como fazer seu primeiro jogo de Pong com Python é um dos marcos mais emocionantes para qualquer iniciante na

    Ler mais

    Tempo de leitura: 11 minutos
    24/02/2026
    Ilustração de uma cobra com o logo do Python centralizado
    Projetos
    Foto do Leandro Hirt

    Criando o jogo da cobrinha (Snake) em Python

    Desenvolver o seu próprio jogo da cobrinha (Snake) em Python é um dos marcos mais importantes na jornada de qualquer

    Ler mais

    Tempo de leitura: 11 minutos
    10/02/2026
    Projetos
    Foto do Leandro Hirt

    Criando jogos com Pygame para iniciantes

    Aprender como começar a jornada de criando jogos com Pygame para iniciantes é um dos marcos mais empolgantes na vida

    Ler mais

    Tempo de leitura: 10 minutos
    10/02/2026
    Projetos
    Foto do Leandro Hirt

    Desenhando com Turtle: Guia para iniciantes

    Aprender a programar pode parecer uma tarefa intimidadora no início, repleta de linhas de código complexas e termos abstratos. No

    Ler mais

    Tempo de leitura: 9 minutos
    09/02/2026