Ao invés de usar o starwith ou endswith usei um slicing
url = input("Digite a URL para validação: ")
if url[:8] == "https://" and url[-4:] == ".com":
print("URL Válida!")
else:
print("URL inválida!")
Ao invés de usar o starwith ou endswith usei um slicing
url = input("Digite a URL para validação: ")
if url[:8] == "https://" and url[-4:] == ".com":
print("URL Válida!")
else:
print("URL inválida!")
Oii, Gustavo! Tudo bem?
Sim, sua solução é totalmente válida e funciona perfeitamente! Mandou muito bem na lógica.
O que você aplicou aí foi o Slicing (fatiamento de strings). Vamos analisar por que isso funciona e qual a diferença para o método sugerido pelo instrutor:
Por que seu código funciona?
Você entendeu corretamente como acessar partes específicas da string pelos índices:
url[:8]: Pega exatamente os primeiros 8 caracteres. Como "https://" tem 8 caracteres, a comparação bate certinho.url[-4:]: Pega exatamente os últimos 4 caracteres. Como ".com" tem 4 caracteres, também funciona. Comparando: Slicing vs. Métodos (startswith/endswith)
Embora sua solução funcione, no dia a dia de desenvolvimento Python, a preferência costuma ser pelos métodos startswith() e endswith(). Os motivos principais:
if url.startswith("https://") lê-se: "Se a url começa com..."if url[:8] == "https://" exige que quem lê o código pare para contar quantos caracteres existem ali para entender o que o 8 significa.http:// (sem o 's'). Você teria que lembrar de mudar o [:8] para [:7]. Usando o método, o Python calcula o tamanho sozinho, evitando erros manuais.A sua lógica de programação tá excelente e mostra que você domina a manipulação de índices em strings! O uso dos métodos prontos (startswith) é apenas uma "melhor prática" para deixar o código mais fácil de ler e manter no futuro.
Parabéns por explorar outras formas de resolver o mesmo problema! Continue assim.