1
resposta

[Sugestão] Fatiamento sem contar caracteres no olhômetro

Nunca que alguém com TDA vai contar caracteres, então é preferível fatiar as coisas pelos caracteres usados para queries, a saber, ? e &. Mais tarde, como quereremos extrair as moedas e quantidades, melhor agora fatiar-se por chave-valor. Vejamos:

def print_with_newline(*args):
    print(*args, end="\n\n")

url = "https://bytebank.com/cambio?moedaOrigem=real&moedaDestino=dolar&quantidade=100"

url_parts = url.split("?")
url_base = url_parts[0]
url_parameters = url_parts[1]

parameters = url_parameters.split("&")

origin, destination, quantity = None, None, None

for param in parameters:
    key, value = param.split("=")
    if key == "moedaOrigem":
        origin = value
    elif key == "moedaDestino":
        destination = value
    elif key == "quantidade":
        quantity = value

print_with_newline("URL:", url)
print_with_newline("URL parts:", ", ".join(url_parts))
print_with_newline("URL parameters:", ", ".join(parameters))
print_with_newline("Origin currency:", origin)
print_with_newline("Destination currency:", destination)
print_with_newline("Quantity to convert:", quantity)

De fato há um módulo para fatiar urls e talvez o vejamos depois.

Obs.: para seu terminal não ficar congestionado, é sempre bom usar duplo espaçamento entre prints. O método print_with_newline é para fazer isso: ele aceita n argumentos com *args o põe ao final um último argumento de "\n\n" que fornece o duplo espaçamento.

1 resposta

Oi, Rafael! Tudo bem?

Desculpa a demora por um retorno.

Muito obrigada por compartilhar a sua sugestão com a gente aqui no fórum e contribuir com o fortalecimento da nossa comunidade. Realmente, fazer o fatiamento pelos caracteres usados para queries, como o "?" e o "&", é uma alternativa mais prática e eficiente.

No código compartilhado, há a divisão da URL em duas partes: a base e os parâmetros, após isso, dividimos os parâmetros em chave e valor, para extrair as informações desejadas. Essa é uma abordagem muito válida e funcional.

O módulo chamado urllib.parse oferece várias funcionalidades para trabalhar com URLs, incluindo o parsing de parâmetros, podemos explorar esse módulo posteriormente para aprimorarmos nosso código. Somado a isso, a função print_with_newline é uma ótima prática para deixar a saída mais organizada e legível. Parabéns!

Caso tenha alguma dúvida em relação ao conteúdo do curso ou atividade, peço que sinta-se a vontade em comunicar, estou a disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!