2
respostas

desafio: Conversor de moedas

o codigo original foi feito por: Mateus Felipe Sbaraglini Saluceste, abaixo segue codigo com pequenas melhorias eo codigo comentado ( mudei o int do input para float e formatei o resultado para 2 casa decimais):

# Função que faz a conversão de moeda
def Conversor(ValorReais, TaxaDeCambio):
    # Retorna o valor convertido (dividindo pelo valor da moeda)
    return (ValorReais / TaxaDeCambio)


# Entrada de dados: pede ao usuário um valor em reais
# float permite números com casas decimais (ex: 10.50)
ValorReais = float(input("Digite um valor em REAIS: "))

# Entrada da taxa de câmbio (também em float para maior precisão)
TaxaDeCambio = float(input("Digite a taxa de câmbio da moeda que você quer converter: "))

# Chama a função Conversor passando os valores informados
ValorFinal = Conversor(ValorReais, TaxaDeCambio)

# Exibe o resultado final da conversão com 2 casa decimais
print(f"Valor convertido: {ValorFinal:.2f}")

Venho colocando os desafios de pseudo codigo em python e testando para ver se estou fixando os conteudos das aulas, consigo entender os topicos mas muitos vezes fico em duvidas de quando aplica-los

2 respostas

Olá, Adilson! Como vai?

É muito bacana ver você aplicando o que aprendeu em Design Gráfico para melhorar a legibilidade e a apresentação dos resultados no Python! A transição do pseudocódigo para uma linguagem real é, de fato, a melhor maneira de fixar o conteúdo.

Suas melhorias no código original foram pontuais e muito assertivas:

  • Uso do float: Trocar int por float é fundamental em sistemas financeiros, pois permite trabalhar com centavos e taxas de câmbio fracionadas.
  • Formatação de Saída: O uso de :.2f garante que o valor final siga o padrão monetário de duas casas decimais, o que torna a interface muito mais profissional.
  • Documentação: Adicionar comentários explicando cada etapa do processo ajuda muito na manutenção do código e no compartilhamento com outros desenvolvedores.

Sobre sua dúvida de quando aplicar os conteúdos:

É super normal sentir essa dúvida no início. O segredo é pensar no objetivo dos dados:

  • Funções: Use sempre que perceber que uma conta ou ação vai se repetir. Se você fosse converter para Dólar, Euro e Libra no mesmo programa, a função Conversor evitaria que você escrevesse o cálculo três vezes.
  • Condicionais (if/else): Aplique quando o programa precisar tomar uma decisão. No seu caso, você poderia usar um if para verificar se o usuário digitou uma TaxaDeCambio igual a zero, o que evitaria um erro matemático de divisão por zero.
  • Listas e Dicionários: Use quando tiver muitos dados do mesmo tipo, como uma lista de várias taxas de câmbio para consulta automática.

Você está no caminho certo ao testar e validar cada desafio. Essa prática transforma a lógica teórica em habilidade técnica real.

Espero que possa ter lhe ajudado!

Uma pergunta para o seu próximo teste: Como você alteraria o código para que ele perguntasse ao usuário se ele deseja fazer uma nova conversão sem precisar reiniciar o programa manualmente?

Segue abaixo o codigo, sei que teria que usar um laço de repetição, mas nao sabia examente em qual parte do codigo ele iria entrar, pedi ajuda para codificar, sei tbm que para o condigo ficar completo eu teria que fazer o tratamento de erros( ponto e virgula,valores nulos) mas sou iniciante e ainda nao domino isso, poderia sim pedir pra IA codifdicar por completo mas prefiro um passo de cada vez, adicionei o nome da moeda assim fica mais organizado:

# Função que faz a conversão de moeda
def Conversor(ValorReais, TaxaDeCambio):
    return (ValorReais / TaxaDeCambio)


while True:
    # Entrada de dados
    ValorReais = float(input("\nDigite o valor em REAIS: R$ "))

    # Nova entrada: Nome da moeda (ex: Dólar, Euro, Libra)
    NomeMoeda = input("Qual o nome da moeda de destino? (ex: Dólar): ").strip()

    TaxaDeCambio = float(input(f"Digite a taxa de câmbio para {NomeMoeda}: "))

    # Chama a função e exibe o resultado
    ValorFinal = Conversor(ValorReais, TaxaDeCambio)

    # Exibição personalizada com o nome da moeda informado
    print(f"--- Resultado ---")
    print(f"Valor convertido: {ValorFinal:.2f} {NomeMoeda}(s)")
    print(f"-----------------")

    # Pergunta se o usuário quer continuar
    continuar = input("Gostaria de fazer mais uma conversão? (s/n): ").strip().lower()

    if continuar != 's':
        print("Encerrando o programa... Bons investimentos!")
        break