Wyszukiwanie podciągu
Nowy dzień w pracy – czas kontynuować czyszczenie zbioru danych na potrzeby projektu przewidywania popularności filmów. Przeglądając zbiór, zauważasz pewną osobliwość: między znakiem na pozycji 37 a znakiem na pozycji 41 pojawiają się kolejne, powtarzające się słowa. Postanawiasz napisać funkcję, która znajdzie recenzje filmów wykazujące tę cechę – pamiętaj, że podana pozycja końcowa nie jest uwzględniana. Jeśli wykryjesz powtórzenie, chcesz też zmodyfikować ciąg, zastępując je pojedynczym wystąpieniem danego słowa.
Uzupełnij instrukcję if-else zgodnie z poniższymi wskazówkami.
Tekst trzech recenzji filmowych został już zapisany w zmiennej movies. Możesz użyć print(movies), aby wyświetlić tę zmienną w powłoce IPython.
To ćwiczenie jest częścią kursu
Wyrażenia regularne w Pythonie
Instrukcje do ćwiczenia
- Sprawdź, czy podciąg
actorwystępuje między znakami o indeksach37a41(włącznie). Jeśli nie zostanie wykryty, wyświetl komunikatWord not found. - Zastąp
actor actorpodciągiemactor, jeśliactorpojawia się dokładnie dwa razy pod rząd. - Zastąp
actor actor actorpodciągiemactor, jeśliactorpojawia się dokładnie trzy razy pod rząd.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
for movie in movies:
# If actor is not found between character 37 and 41 inclusive
# Print word not found
if movie.find("____", ____, ____) == ____:
print("Word not found")
# Count occurrences and replace two with one
elif movie.____("____") == 2:
print(movie.replace("____", "____"))
else:
# Replace three occurrences with one
print(movie.replace("____", "____"))