Okno przesuwane po tekście
Wyszukiwanie wzorca w tekście metodą naiwną - Informatyka - liceum klasa 2 (Python)
**Wyszukiwanie wzorca** odpowiada na pytanie, w których miejscach tekstu występuje krótszy napis (wzorzec). Metoda **naiwna** przykłada wzorzec długości `m` po kolei do każdej pozycji `i` tekstu, od 0 do `n - m`, i porównuje fragment `text[i:i + m]` ze wzorcem. Specyfikacja: - dane: tekst `text` (długość `n`) i wzorzec `pattern` (długość `m`), - wynik: lista wszystkich pozycji `i`, od których zaczyna się wzorzec. Wystąpienia mogą na siebie **nachodzić**: w `"aaaa"` wzorzec `"aa"` zaczyna się na pozycjach 0, 1 i 2.
def find_all(text, pattern):
m = len(pattern)
positions = []
for i in range(len(text) - m + 1):
if text[i:i + m] == pattern:
positions.append(i)
return positions
print(find_all("abrakadabra", "abra"))
print(find_all("aaaa", "aa"))
print(find_all("kot", "pies"))Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - liceum klasa 2·Zaloguj się, aby zapisać postęp na koncie.