Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Desafio: conversor de moedas

Fiz esse da seguinte forma, em vez de ter uma função só que calcula E já devolve pronto pra imprimir, separei em duas funções com responsabilidades bem distintas uma só faz a conta (recebe reais, devolve dólares) e a outra só cuida de mostrar o resultado formatado na tela. Também deixei a taxa de câmbio como um valor padrão da função, assim, se um dia eu quiser converter usando outra cotação (histórica, por exemplo), só preciso passar um segundo valor na chamada, sem mexer em mais nada.

**Algoritmo em linguagem natural **

Definir a taxa de câmbio atual como uma constante do programa (hoje, algo em torno de R$ 5,10 por dólar).

Perguntar ao usuário o valor em reais que ele quer converter.

Chamar uma função que recebe esse valor e a taxa de câmbio, e devolve o valor dividido pela taxa — esse é o valor em dólares.

Passar o valor em reais e o valor convertido para uma segunda função, responsável só por montar e exibir a mensagem final na tela.

**Código **

TAXA_CAMBIO_ATUAL = 5.10 # cotacao aproximada do dolar em reais

def converter_reais_para_dolar(valor_reais, taxa=TAXA_CAMBIO_ATUAL):
return valor_reais / taxa

def exibir_conversao(valor_reais, valor_dolar):
print(f"R$ {valor_reais:.2f} equivalem a US$ {valor_dolar:.2f} (cotacao: R$ {TAXA_CAMBIO_ATUAL:.2f})")

valor_em_reais = float(input("Digite o valor em reais que deseja converter: "))
valor_em_dolares = converter_reais_para_dolar(valor_em_reais)
exibir_conversao(valor_em_reais, valor_em_dolares)

A cotação que usei (R$ 5,10) é a de hoje em um sistema real, obviamente esse valor viria de uma API de câmbio atualizada em tempo real, e não fixo no código.

1 resposta

Olá, Gusttavo! Como vai?

Parabéns pela realização das atividades!

Vi que você explorou muito bem o uso de funções para separar responsabilidades, aplicou a lógica de parâmetros padrão para flexibilizar a taxa de câmbio e organizou a formatação da saída de forma clara para o usuário. Essa estrutura mostra atenção à modularidade, clareza no código e preocupação em aproximar o algoritmo de um cenário real de conversão monetária.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Validação de entradas: garantir que o usuário digite apenas valores numéricos positivos.
  • Integração com APIs: buscar a cotação em tempo real para tornar o sistema mais confiável.
  • Generalização: criar funções que permitam converter em múltiplas direções (reais → dólares e dólares → reais).

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Ah, uma pergunta: o que você considera mais interessante nesse tipo de exercício, praticar a modularização com funções ou expandir o código para incluir integrações externas como APIs de câmbio?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!