Criando um Conversor de Moedas em Tempo Real com Python e APIs
Neste artigo, vamos aprender a criar um Conversor de Moedas em Tempo Real com Python, utilizando uma API de câmbio para buscar os valores atualizados diretamente da internet.
🔹 O que é uma API de câmbio?
Uma API (Application Programming Interface) é uma forma de acessar dados ou funcionalidades de um serviço externo. No caso de conversores de moedas, existem várias APIs que fornecem as taxas de câmbio em tempo real, como:
ExchangeRate API – gratuita e simples de usar.
CurrencyAPI – com planos gratuitos e pagos.
Open Exchange Rates – muito usada no mercado.
Neste artigo, vamos usar a ExchangeRate Host, pois é gratuita e não precisa de autenticação com chave de API.
🔹 Preparando o ambiente
Antes de começar, certifique-se de ter o Python instalado (3.8+).
Também vamos precisar da biblioteca requests para fazer chamadas HTTP.
Instalação:
pip install requests
🔹 Criando o conversor passo a passo
1. Importando bibliotecas
import requests
2. Função para buscar taxas de câmbio
A API da ExchangeRateHost funciona com endpoints do tipo:
https://api.exchangerate.host/convert?from=USD&to=BRL&amount=1
Isso retorna um JSON com a conversão.
Exemplo de função:
def converter_moeda(valor, moeda_origem, moeda_destino):
url = f"https://api.exchangerate.host/convert?from={moeda_origem}&to={moeda_destino}&amount={valor}"
resposta = requests.get(url)
if resposta.status_code != 200:
print("❌ Erro ao acessar a API")
return None
dados = resposta.json()
return dados["result"]
3. Criando o programa principal
def main():
print("💱 Conversor de Moedas em Tempo Real")
valor = float(input("Digite o valor: "))
moeda_origem = input("De qual moeda (ex: USD, EUR, BRL): ").upper()
moeda_destino = input("Para qual moeda (ex: BRL, USD, EUR): ").upper()
resultado = converter_moeda(valor, moeda_origem, moeda_destino)
if resultado:
print(f"\n💲 {valor:.2f} {moeda_origem} = {resultado:.2f} {moeda_destino}\n")
if __name__ == "__main__":
main()
Saída esperada:
💱 Conversor de Moedas em Tempo Real
Digite o valor: 100
De qual moeda (ex: USD, EUR, BRL): USD
Para qual moeda (ex: BRL, USD, EUR): BRL
💲 100.00 USD = 550.30 BRL
🔹 Melhorias no conversor
Esse é apenas o início. Vamos expandir a aplicação.
1. Listando moedas suportadas
A API também permite listar todas as moedas disponíveis em:
https://api.exchangerate.host/symbols
Exemplo em Python:
def listar_moedas():
url = "https://api.exchangerate.host/symbols"
resposta = requests.get(url).json()
simbolos = resposta["symbols"]
for codigo, info in simbolos.items():
print(f"{codigo} - {info['description']}")
2. Conversor em loop
Podemos criar um menu para o usuário fazer várias conversões sem precisar reiniciar o programa.
def menu():
while True:
print("\n--- MENU ---")
print("1 - Converter moeda")
print("2 - Listar moedas suportadas")
print("3 - Sair")
opcao = input("Escolha: ")
if opcao == "1":
valor = float(input("Digite o valor: "))
origem = input("Moeda origem (ex: USD): ").upper()
destino = input("Moeda destino (ex: BRL): ").upper()
resultado = converter_moeda(valor, origem, destino)
print(f"💲 {valor:.2f} {origem} = {resultado:.2f} {destino}")
elif opcao == "2":
listar_moedas()
elif opcao == "3":
print("👋 Encerrando programa...")
break
else:
print("Opção inválida!")
🔹 Usando Pandas para relatórios (opcional)
Se quisermos algo mais avançado, podemos comparar múltiplas moedas ao mesmo tempo e gerar relatórios.
Exemplo: converter R$100 em várias moedas.
import pandas as pd
def relatorio_conversao(valor, moeda_origem, moedas_destino):
resultados = {}
for moeda in moedas_destino:
resultados[moeda] = converter_moeda(valor, moeda_origem, moeda)
df = pd.DataFrame(resultados, index=[f"{valor} {moeda_origem}"])
return df
Uso:
print(relatorio_conversao(100, "BRL", ["USD", "EUR", "JPY", "GBP"]))
Saída:
USD EUR JPY GBP
100 BRL 18.55 16.90 2890.33 14.60
🔹 Possíveis Expansões
Esse projeto pode crescer bastante. Algumas ideias:
Criar interface gráfica com Tkinter ou PyQt.
Exportar conversões para Excel ou PDF.
Integrar com API de criptomoedas (Bitcoin, Ethereum).
Adicionar gráficos de variação do câmbio usando Matplotlib.
Criar um bot no Telegram para responder conversões.
✅ Conclusão
Neste artigo, construímos um conversor de moedas em tempo real com Python, integrando com uma API gratuita de câmbio.
Aprendemos a:
Usar
requestspara fazer chamadas HTTP.Ler e interpretar JSONs de uma API.
Criar menus interativos em Python.
Expandir o projeto para relatórios e até visualizações.
Esse é um projeto prático e útil, que pode evoluir para ferramentas mais completas e até mesmo aplicações web ou móveis.
💡 Desafio para você: adapte o código para que o usuário possa salvar suas conversões em um arquivo CSV e depois consultar o histórico.

Comentários
Postar um comentário