Usuń fragment napisu od pierwszego wystąpienia słowa klucz
Treść zadania
Wczytaj tekst wielowierszowy i słowo klucz. Znajdź pierwsze wystąpienie słowa klucz w tekście jako całego słowa (zob. konwencje rozdziału; wielkość liter ma znaczenie). Usuń wszystko od początku tego wystąpienia do końca tekstu — także wszystkie dalsze wiersze — i wypisz to, co zostało.
Jeśli słowo klucz nie występuje w tekście, wypisz tekst bez zmian. Jeśli słowo klucz jest pierwszym słowem tekstu, nic nie wypisuj.
Dane wejściowe
- 1. linia:
n— liczba wierszy tekstu - kolejne
nlinii: tekst - ostatnia linia: słowo klucz (tylko litery i cyfry)
Dane wyjściowe
Pozostała część tekstu: wiersze przed wierszem z wystąpieniem słowa klucz w całości, a z tego wiersza — tylko fragment przed słowem klucz.
Ograniczenia
- $1 \le n \le 100$
Uwagi
- Złącz wiersze w jeden napis (
"\n".join(...)) i znajdź wystąpienie przezre.search()— metodastart()dopasowania poda jego pozycję. - Sprawdzarka ignoruje spacje na końcu wierszy i puste wiersze na końcu wyjścia.
Przykład
3 Ala ma kota, a kot ma Alę. Kot lubi mleko i spać. Mleko jest białe. mleko
Ala ma kota, a kot ma Alę. Kot lubi
Słowo Mleko w trzecim wierszu nie pasuje (wielka litera), a pierwsze mleko jest w drugim wierszu.
Potrzebujesz teorii?
Zasady obowiązujące w rozdziale 23
Poniższe zadania polegają na wczytywaniu danych ze standardowego wejścia (stdin) i wypisywaniu wyniku na standardowe wyjście (stdout). Rozwiązuj je za pomocą wyrażeń regularnych (moduł re).
Każde zadanie jest osobnym, niezależnym programem.
Konwencje wspólne:
- Każda wartość wejściowa znajduje się w osobnej linii — wczytuj je dokładnie w podanej kolejności.
- Tekst wielowierszowy jest poprzedzony linią z liczbą jego wierszy
n— wczytaj go, wywołującinput()nrazy. - Dla wartości logicznych wypisuj dokładnie
PrawdalubFałsz. - Wielkość liter ma znaczenie, chyba że zadanie mówi inaczej.
- Słowo to najdłuższy ciąg znaków dopasowywanych przez
\w, czyli liter (także polskich), cyfr i znaku podkreślenia_. Każdy inny znak — spacja, interpunkcja, myślnik — rozdziela słowa, np.biało-czerwonato dwa słowa:białoiczerwona. Granicę słowa w wyrażeniu regularnym oznacza\b. - Program nie wypisuje komunikatów typu „Podaj tekst:”. Tekst podany w
input("…")jest ignorowany przez sprawdzarkę.
Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.
Przywrócono Twój zapisany kod.
Python uruchomi się w przeglądarce przy pierwszym teście.
Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.
Testy
Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.
Test 1
Nie uruchomiono1 Hello key world key
Hello
Test 2
Nie uruchomiono2 No keyword here Second line XYZ
No keyword here Second line
Test 3
Nie uruchomiono1 klucze i klucz do domu klucz
klucze i
Test 4
Nie uruchomiono3 Pierwszy wiersz stop tutaj Trzeci stop
Pierwszy wiersz
Test 5
Nie uruchomiono2 STOP nie działa ale stop tak, stop stop
STOP nie działa ale
Test 6
Nie uruchomiono2 keyword i key-value dalej key
keyword i
Test 7
Nie uruchomiono2 koniec tego tekstu koniec
(brak)