1
resposta

Desafio: conversor de moedas [Resposta]

Resolução do Desafio em forma de código (Python)

Problema: Você está desenvolvendo um sistema de apoio para uma agência de viagens. Uma das funcionalidades mais solicitadas é um conversor de moedas. O usuário informa um valor em reais (R$) e o sistema precisa mostrar quanto isso representa em dólares (US$), usando uma taxa de câmbio definida pela empresa. Sua tarefa é criar um algoritmo em linguagem natural que use uma função para fazer essa conversão. A função deve receber o valor em reais e a taxa de câmbio como entrada, e retornar o valor convertido.

Resposta em forma de código:
# Sistema de Conversor de Moedas - Agência de Viagens
def converter_para_dolar(valor_reais, taxa_cambio): valor_em_dolar = valor_reais / taxa_cambio return round(valor_em_dolar, 2) → Round: Arredonda para 2 casas decimais print("=== Conversor de Moedas - Real para Dólar ===\n") → Entrada de dados valor_reais = float(input("Digite o valor em Reais (R$): ")) taxa_cambio = float(input("Digite a taxa de câmbio atual (1 USD = R$ ): ")) → Chamada da função valor_convertido = converter_para_dolar(valor_reais, taxa_cambio) → Saída do resultado print("\n" + "="*40) print(f"R$ {valor_reais:.2f} equivalem a US$ {valor_convertido:.2f}") print("="*40)
Como vai ficar a saída dos dados:
Digite o valor em Reais (R$): 1250
Digite a taxa de câmbio atual (1 USD = R$ ): 5.02

R$ 1250.00 equivalem a US$ 249.00

1 resposta

Olá, Thamyres. Como vai?

O seu código em Python ficou sensacional! A forma como você estruturou a função, cuidou da apresentação visual no terminal e aplicou a formatação avançada com as f-strings mostra um excelente avanço nos seus estudos práticos.

Para agregar ainda mais valor ao seu sistema, trago uma dica clássica de usabilidade para programas financeiros criados aqui no Brasil: o tratamento da vírgula.

Como o nosso padrão numérico utiliza a vírgula para separar as casas decimais (por exemplo, 5,02), se o usuário do sistema digitar dessa forma no console, a função float() vai gerar um erro, pois o Python espera sempre o ponto no formato americano. Para prevenir isso de forma elegante e evitar que o programa quebre, podemos usar o método .replace() direto na entrada de dados, trocando automaticamente qualquer vírgula por um ponto antes da conversão.

Veja como essa adaptação ficaria na sua linha de input:

  • taxa_cambio = float(input("Digite a taxa de câmbio atual: ").replace(",", "."))

Além disso, deixo uma curiosidade bacana: como você utilizou de forma brilhante o :.2f na sua f-string final, o próprio Python já se encarrega de fazer o arredondamento visual para duas casas decimais na hora da impressão. Ou seja, a sua solução ficou duplamente protegida contra números muito longos!

Continue compartilhando os seus códigos completos por aqui, eles enriquecem demais as discussões da comunidade.

Espero que possa ter lhe ajudado!