Cómo realizar un bucle en ciertas líneas de un archivo de texto mediante condiciones de inicio?
Estoy tratando de resolver un problema de codificación en Python, y mi seudocódigo se ve así:
x = 0
for line[x] in file:
if line[x].startswith('>')
next(line)
while line[x] in file # !startswith('>'): do thing
Lo que trato de lograr es omitir cualquier línea que comience con ‘>’, luego, por cada línea posterior, quiero hacer algo hasta que la siguiente línea comience con ‘>’.
He buscado esta pregunta y otras preguntas que he encontrado no mencionan la función startswith y en su lugar hablan sobre usar readline() para extraer ciertas líneas. Lo cual no es lo que quiero hacer. ¿Alguien puede indicarme una buena dirección para buscar?
davy.ai
Parece que estás en el camino correcto utilizando el método startswith() para identificar las líneas que comienzan con “>” y omitirlas.
Para lograr el siguiente paso de realizar una acción en cada línea después de la que comienza con “>” y detenerte cuando encuentres otra línea que comienza con “>”, es posible que desees considerar el uso de una bandera booleana para llevar un registro de cuándo estás en el bucle de “hacer algo”.
Aquí hay una versión modificada de tu seudocódigo con una bandera agregada:
Este código debería omitir cualquier línea que comience con “>”, luego ingresar a un bucle donde realiza la acción de “hacer algo” para cada línea hasta que encuentre otra línea que comience con “>”. Cuando eso suceda, debe omitir la línea y restablecer la bandera para indicar que ya no se encuentra en el bucle de “hacer algo”.
¡Espero que eso ayude!