Localizador de Padrões
Parte da seção Fundamentals do Journey de Python da Coddy — lição 76 de 77.
Desafio
MédioCrie uma função chamada find_occurrences que:
- Receba dois argumentos do tipo string:
textepattern - Conte quantas vezes o
patternaparece notext, incluindo ocorrências sobrepostas - Retorne uma tupla contendo:
- Um booleano indicando se o padrão foi encontrado (True/False)
- O número de ocorrências do padrão
- Uma lista das posições iniciais onde o padrão foi encontrado
Por exemplo, se o text for "abababab" e o pattern for "aba", sua função deve retornar (True, 3, [0, 2, 4]), já que "aba" aparece nas posições 0, 2 e 4.
Se o padrão não for encontrado, retorne (False, 0, []).
Sobre a palavra-chave <strong>pass</strong>: Você verá pass no código padrão. É uma palavra-chave do Python que significa "não faça nada" e é usada como um marcador de posição quando o Python exige um bloco de código indentado (como dentro de uma função). Você deve substituir o pass pelo código real da sua função.
Experimente você mesmo
def find_occurrences(text, pattern):
# Escreva seu código aqui
pass
# Ler a entrada
text = input()
pattern = input()
# Chamar sua função e imprimir o resultado
result = find_occurrences(text, pattern)
print(result)Todas as lições de Fundamentals
4Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operadores Lógicos Parte 47Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada10FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz2Variáveis
NúmerosStringBooleanoConvenções de NomenclaturaVariáveis VaziasRecapitulação - Inicializar Variáveis8Laços de Repetição
Loop ForLoop WhileBreakContinueRecapitulação - FatorialA Função RangeLoops AninhadosRecapitulação - Entrada Dinâmica11Fundamentos de Listas
Declarando uma ListaAcessando Elementos da ListaModificando ListasMétodos de ListaRecapitulação - Lista de ProdutosRecapitulação - Lista InvertidaTupla14Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa3Operadores Parte 1
Operadores AritméticosOperador de MóduloAtalhos AritméticosRecapitulação - Matemática SimplesOperadores de Comparação6Entrada e Saída Básica
SaídaSaída com VariáveisEntradaConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso9Funções
Declarar uma FunçãoArgumentosRetornoRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão12Iterando sobre Sequências
Iterando sobre ElementosA Função EnumerateIterando sobre Strings Parte 1Iterando sobre Strings Parte 2