Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

123
Visualizações
Comparar una cadena con varias subcadenas de otra cadena

¿Hay otra forma más sencilla de escribir código que básicamente verifique cada carácter de la cadena 'abcde'

 if input == 'a' or input == 'ab' or input == 'abc' or input == 'abcd' or input == 'abcde': return True
over 4 years ago · Santiago Trujillo
5 Respostas
Responde à pergunta

0

Esto debería hacer lo mismo que lo que pones.

 return 'abcde'.startswith(input)
over 4 years ago · Santiago Trujillo Relatório

0

Probablemente podrías intentar algo como esto:

 def your_function(): # Add as much chars that you want here chars = "abcde" # Assuming you are taking the user input from terminal user_input = input() # Loop over every substring from chars for i in range(len(chars) + 1): if chars[:i] == user_input: return True return False

¡Déjeme saber si esto ayuda!

over 4 years ago · Santiago Trujillo Relatório

0

No nombre las variables input , ya que sombreará la función incorporada input() . Se considera una mala práctica hacer esto, y lo suficientemente fácil como para elegir otro nombre de variable.

Podría usar un conjunto para verificar si la entrada coincide con alguna de las subcadenas:

 lookups = {'a', 'ab', 'abc', 'abcd', 'abcde'} my_input = input() if my_input in lookups: return True

También podríamos generar este conjunto usando una comprensión de conjuntos:

 characters = 'abcde' lookups = {characters[:i] for i in range(1, len(characters) + 1)} my_input = input() if my_input in lookups: return True

Para grandes conjuntos de combinaciones, el beneficio de usar un conjunto sobre una lista es que obtiene búsquedas O(1) de tiempo constante para la búsqueda. Esto es mucho mejor que usar una lista, que le dará búsquedas lineales O(N) .

over 4 years ago · Santiago Trujillo Relatório

0

Hay múltiples formas lindas de hacerlo. startwith es probablemente el más eficiente, pero estos también deberían funcionar:

usando lstrip :

 return 'abcde'.lstrip(input)!='abcde'

usando list comprehension :

 return any(['abcde'[:i+1] == input for i in range(len('abcde'))])

usando regex :

 pattern = re.compile('^'+input) return bool(pattern.match('abcde'))

o solo:

 return 'abcde'[:len(input)]==input
over 4 years ago · Santiago Trujillo Relatório

0

Puedes probar esto:

 If input in ['a', 'ab', 'abc', 'abcd', 'abcde']: return True else: return False
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda