Seguimiento de la posición en el texto buscado cuando la misma palabra aparece más de una vez.
La siguiente función es esencialmente un teleprompter. Cuando el usuario ingresa una palabra o varias en cualquier orden, la función imprime la palabra justo después de cada una de las palabras que ingrese el usuario. Sin embargo, hay un caso especial cuando una palabra ingresada ocurre varias veces dentro del texto preestablecido; la función siempre imprime la palabra de la primera ocurrencia. ¿Cómo se puede modificar esta función para hacer un seguimiento de la posición de la palabra ingresada por el usuario dentro del texto preestablecido? Por ejemplo:
Para la primera ocurrencia de “a” en el texto preestablecido:
Ingresa las palabras que dirás a continuación: a
importante
Si el usuario ya pasó ese punto en el texto, ingresando “a” por segunda vez:
“`ninguno
Ingresa las palabras que dirás a continuación: a
diagnosticable
Para la primera ocurrencia de "estos"
en el texto preestablecido:
ninguno
Ingresa las palabras que dirás a continuación: estos
increíblemente
Si el usuario ya pasó ese punto en el texto, ingresando "estos"
por segunda vez:
ninguno
Ingresa las palabras que dirás a continuación: estos
joven
En otras palabras, el programa debe continuar avanzando en el texto una vez que una palabra ya ha sido buscada. ¿Cómo puedo lograr eso?
davy.ai
Una forma de lograr esto es utilizar un bucle
while
para iterar a través denote_list
y llevar un registro del índice de la palabra ingresada por el usuario. El bucle debería detenerse cuando el índice de la palabra ingresada por el usuario es igual a la longitud denote_list
menos uno. El código modificado se vería así: