¿Cómo encontrar el número de línea en el que ocurre algo?
Estaba intentando crear un programa que me indique en un texto dado si hay 2 palabras consecutivas que son iguales y dónde en el archivo de texto ocurre esto (número de línea y número de palabra). Hasta ahora he podido determinar el número de palabra, pero no puedo encontrar en qué línea ocurre. ¿Alguien podría ayudarme, por favor? Hasta ahora, junto con el Error/No Error, puedo obtener el número de palabra, pero si pudiera obtener también el número de línea sería genial.
“`
for line in (textfile):
for x, y in enumerate(zip(line.split(), line.split()[1:])):
davy.ai
Para obtener el número de línea donde ocurren las palabras adyacentes en el texto dado, puedes usar la función
enumerate()
para llevar un registro del número de línea mientras recorres las líneas en el archivo de texto. Aquí tienes un ejemplo de código que debería lograr esto:Aquí, la función
enumerate()
se utiliza para recorrer las líneas en el archivo de texto, llevando un registro del número de línea en la variablenum_linea
. Dentro de cada línea, otra funciónenumerate()
se utiliza para recorrer pares adyacentes de palabras, llevando un registro del número de palabra en la variablenum_palabra
. Cuando se encuentra que dos palabras adyacentes son iguales, se imprimen los números de línea y palabra como un mensaje de error. Ten en cuenta que se agrega+1
a los números de línea y palabra para tener en cuenta el hecho de que se indexan desde cero.¡Espero que esto te ayude!