Ir ao conteúdo

Posts recomendados

Postado

Para comparar a primeira string com a segunda terá que pegar partes da primeira, para isso pode usar o recurso de slicing, p.ex,

 

str1 = 'ABCDEFGHI'

 

O retorno de str1[0:2] será 'AB', str1[3:5] 'DE', etc.

 

Com isso pode comparar cada parte da primeira com a segunda string. No loop use variáveis como: str1[i:j + i], onde i é o contador e j o tamanho da segunda string.

  • Curtir 1
Postado
def exercicio(str1,str2):
  j = len(str2)
  lista = []
  i = 0
  
  while pos<len(str1):
    str1[i:j+i]
    i = i + 1

Meu raciocínio tá certo ? 😶

pra saber se o str2 está contido em str1 eu devo usar uma condicional ? por ex

if str2 in str1

 

Postado
13 horas atrás, Felipe2719 disse:

pra saber se o str2 está contido em str1 eu devo usar uma condicional ? por ex

Deve usar uma condicional para comparar str2 com parte de str1,

 

if str1[i:j + i] == str2:

 

E essa variável pos não devia estar aí no while porque já está usando a variável i para isso.

Postado

@Midori eu tinha percebido mas esqueci de tirar o pos do while.

minha duvida agr é na hora de retornar. 

Se eu faço:

lista.append(i) ele me retorna todas as posições de 0 a N

lista+= str1[i:j+i] in str2 retorna a bool e da erro.

 

se for mt obvio me desculpa porque sou mt lesado 

def questao(str1,str2):
  j = len(str2)
  lista = []
  i = 0
  
  while i<len(str1):
    if str1[i:j+i]==str2:
      lista.append(i)
    i = i + 1
  return lista

 

 

 

  • Solução
Postado

@Felipe2719 Sua função está quase pronta, só falta fazer um controle para evitar contar uma posição mais de uma vez. Veja o caso de 'BAAAC' e 'AA', seu código está retornando [1, 2] e deve retornar só [1]. Para esses casos pode colocar uma condição para incrementar i com o tamanho da segunda string quando houver um teste verdadeiro no append da lista.

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!