Buscador de patrones
Parte de la sección Fundamentals del Journey de Python de Coddy — lección 76 de 77.
Desafío
IntermedioCrea una función llamada find_occurrences que:
- Tome dos argumentos de cadena:
textypattern - Cuente cuántas veces aparece
patternentext, incluyendo ocurrencias superpuestas - Devuelva una tupla que contenga:
- Un booleano que indique si se encontró el patrón (True/False)
- El número de ocurrencias del patrón
- Una lista de las posiciones iniciales donde se encontró el patrón
Por ejemplo, si text es "abababab" y pattern es "aba", tu función debería devolver (True, 3, [0, 2, 4]), ya que "aba" aparece en las posiciones 0, 2 y 4.
Si no se encuentra el patrón, devuelve (False, 0, []).
Sobre la palabra clave <strong>pass</strong>: Verás pass en el código por defecto. Es una palabra clave de Python que significa "no hacer nada" y se utiliza como un marcador de posición cuando Python requiere un bloque de código con sangría (como dentro de una función). Debes reemplazar pass con el código real de tu función.
Pruébalo tú mismo
def find_occurrences(text, pattern):
# Escribe tu código aquí
pass
# Leer entrada
text = input()
pattern = input()
# Llama a tu función e imprime el resultado
result = find_occurrences(text, pattern)
print(result)Todas las lecciones de Fundamentals
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada de datos10FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz2Variables
NúmerosStringBooleanConvenciones de nomenclaturaVariables vacíasRepaso - Inicializar variables8Bucles
Bucle ForBucle WhileBreakContinueRepaso - FactorialLa función RangeBucle anidadoRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación9Funciones
Declarar una funciónArgumentosRetornoResumen - Función SigmaResumen - Función de validaciónValores por defecto