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 sistema de lembretes com alarme em Python

    Criar um sistema de lembretes com alarme em Python é um dos projetos mais gratificantes para quem está dando os

    Ler mais

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

    Como extrair dados de tabelas em sites com Python e Pandas

    Você já se deparou com um site repleto de informações úteis organizadas em tabelas, mas sentiu que copiar e colar

    Ler mais

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

    Como converter áudio em texto com Python de forma gratuita

    Transformar arquivos de áudio em texto é uma das tarefas mais úteis e requisitadas na era da inteligência artificial e

    Ler mais

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

    Como criar um sistema de login simples com Python e TXT

    Aprender a manipular informações externas é um dos grandes marcos na jornada de qualquer programador. Se você está dando seus

    Ler mais

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

    Como gerar calendário mensal em Python em 2 minutos

    Você sabia que criar um calendário completo e formatado pode ser feito em pouquíssimas linhas de código? Muitas vezes, ao

    Ler mais

    Tempo de leitura: 9 minutos
    03/04/2026
    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