Localizador de Padrões
Parte da seção Fundamentos 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
patternaparece emtext, 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 em que o padrão foi encontrado
Por exemplo, se text for "abababab" e pattern for "aba", sua função deverá retornar (True, 3, [0, 2, 4]), pois "aba" aparece nas posições 0, 2 e 4.
Se o padrão não for encontrado, retorne (False, 0, []).
Sobre a palavra-chave pass: Você verá pass no código padrão. É uma palavra-chave do Python que significa "do nothing" e é usada como espaço reservado quando o Python exige um bloco de código indentado (como dentro de uma função). Você deve substituir pass pelo código da sua função.
Experimente você mesmo
def find_occurrences(text, pattern):
# Escreva seu código aqui
pass
# Leia a entrada
text = input()
pattern = input()
# Chame sua função e imprima o resultado
result = find_occurrences(text, pattern)
print(result)Todas as lições de Fundamentos
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 2Pratique por conta própria: Compilador de Python online