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.