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

120
Visualizações
Comparing a string with multiple substrings of another string

Is there another simpler way to write code that basically checks every character of the string '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

This should do the same thing as what you put.

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

0

You could probably try something like this:

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

Let me know if this helps!

over 4 years ago · Santiago Trujillo Relatório

0

Don't name variables input, since it will shadow the builtin function input(). Its considered bad practice to do this, and easy enough to just choose another variable name.

You could use a set to check if the input matches any of the substrings:

lookups = {'a', 'ab', 'abc', 'abcd', 'abcde'}

my_input = input()

if my_input in lookups:
    return True

We could also generate this set using a set comprehension:

characters = 'abcde'

lookups = {characters[:i] for i in range(1, len(characters) + 1)}

my_input = input()

if my_input in lookups:
    return True

For large sets of combinations, the benefit of using a set over a list is that you get constant time O(1) lookups for searching. This is much better than using a list, which will give you linear O(N) lookups.

over 4 years ago · Santiago Trujillo Relatório

0

There are multiple cute ways to do it. startwith is probably the most efficient one, but these should work too:

using lstrip:

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

using list comprehension:

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

using regex:

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

or just:

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

0

You can try this:

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