Python - AYUDA!!

   
Vista:

AYUDA!!

Publicado por Victoria Lopez victoriapuntocom@hotmail.com (3 intervenciones) el 24/10/2011 23:26:39
Hola que tal? necesito hacer el siguiente programa:

Especificar en qué posiciones de una secuencia aparece un fragmento. La función debe recibir la
secuencia completa y el fragmento, devolviendo un string que concatene todas las posiciones de inicio en que
se encuentra contenido el fragmento dentro de la secuencia original.

alguien me podria sugerir algo?? estoy por enloquecer!!!, lo poco que he heco es esto:

def encuentraposicion(secuencia,fragmento):
secuencia= secuencia.lower()
fragmento= fragmento.lower()
posicion= secuencia.find(fragmento)
inicio= 0

esto es lo que deberia de mostrarme el programa ejecutado se veria asi:

1- la persona ingresa la secuencia
s="holaholahola"

2- la persona ingresa el fragmento que quiere encontrar en la secuencia
f="ho"

3- llamo a la funcion:
encuentraposicion(s,f)

4-me deberia de mostrar:
(0,4,8)

agradezco mucho a quien pueda ayudarme!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

AYUDA!!

Publicado por Martin (8 intervenciones) el 29/10/2011 16:20:26
Buenas! El problema en tu función es que la función find solo retorna la primera coincidencia. Soy bastante nuevo en python asique no conozco una funcion que lo haga. Pero te dejo como lo haría yo.

def nom_func(s, sub):
pos = []
idx = 0
for i in range(len(s)):
idx = s.find(sub, i+idx)
if idx == -1:
return pos
else:
pos.append(idx)

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar