1
resposta

[Projeto] 05.10 Desafio: Conversão de moedas - dólar e real

Não sei se era assim que o trabalho pedia, mas ta aqui:


# Arquivo utilizado até a aula 3, quando então passamos a utilizar a classe
# ExtratorURL no arquivo extrator_url.py
url = "bytebank.com/cambio?quantidade=100&moedaOrigem=real&moedaDestino=dolar"

# Sanitização da URL
url = url.strip()

# Validação da URL
if url == "":
    raise ValueError("A URL está vazia")

# Separa base e parâmetros
indice_interrogacao = url.find('?')
url_base = url[:indice_interrogacao]
url_parametros = url[indice_interrogacao+1:]
#print(url_parametros)

# Busca o valor de um parâmetro
parametro_busca = 'quantidade'
indice_parametro = url_parametros.find(parametro_busca)
indice_valor = indice_parametro + len(parametro_busca) + 1
indice_e_comercial = url_parametros.find('&', indice_valor)
if indice_e_comercial == -1:
    valor = url_parametros[indice_valor:]
else:
    valor = url_parametros[indice_valor:indice_e_comercial]

#print(valor)

# Desafio
# Modifique o nosso projeto, levando em conta o valor do dólar em real,
# para, sabendo o valor do dólar em real,
# ler da URL os 3 parâmetros (origem, destino e quantidade) e
# imprimir na tela o valor da conversão.

# 1. Valor do Dolar em relação ao real
DOLAR = 5.50

# 2.a Localizar qual Moeda é a da Origem
IndOrigem = url.find('Origem=')
Origem = url[IndOrigem+7:IndOrigem+11]

# 2.b Localizar qual Moeda é a do Destino
IndDest = url.find('Destino=')
Dest = url[IndDest+8:IndDest+12]

# 3. Calculo de Conversão
if Origem == 'real':
    if Dest == 'dola':
        print(f"Valor da moeda: {valor} reais")
        convertido = round((float(valor)/DOLAR),2)
        print(f"Convertida, ela ficara: {convertido} dolares")
    else:
        print("Não foi possivel calcular os valores")

elif Origem == 'dola':
    if Dest == 'real':
        print(f"Valor da moeda: {valor} dolares")
        convertido = round((float(valor)*DOLAR),2)
        print(f"Convertida, ela ficara: {convertido} reais")
    else:
        print("Não foi possivel calcular os valores")    

else:
    print("Não foi possivel calcular os valores")
1 resposta

Olá Victor, tudo bem com você?

Peço desculpas pela demora em lhe responder.

Meus parabéns pela criação do código para a resolução do desafio. Seu código atende bem a proposta, realizando a coleta das informações presentes na url e convertendo os valores com base no resultado dessa coleta.

Lembre-se que pode contar sempre com o fórum Alura, seja para compartilhar o seu desenvolvimento, dicas e tirar dúvidas.

Fico à disposição.

Abraços e bons estudos.