Podziel tekst względem znaków interpunkcyjnych

Zadanie 7 z 13 · rozdział 23Trudność: 1 z 3regexstring

Treść zadania

Wczytaj tekst (jedno lub kilka zdań) i podziel go na fragmenty w miejscach występowania znaków interpunkcyjnych , . ! ? ; :. Inne znaki (np. myślnik czy cudzysłów) nie dzielą tekstu.

Z każdego fragmentu usuń spacje z początku i końca. Puste fragmenty (np. między ? a ! w ?! albo po kropce na końcu tekstu) pomiń.

Dane wejściowe

  • 1. linia: tekst

Dane wyjściowe

Każdy niepusty fragment w osobnej linii, w kolejności występowania.

Ograniczenia

  • Tekst zawiera co najmniej jedną literę, więc zawsze jest co najmniej jeden fragment.

Uwagi

  • Podział zrobi re.split(r"[,.!?;:]", tekst).

Przykład

Wejście
Ani nie poszedł do kina, ani nie wybrał się do teatru.
Wyjście
Ani nie poszedł do kina
ani nie wybrał się do teatru

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ąc input() n razy.
  • Dla wartości logicznych wypisuj dokładnie Prawda lub Fał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-czerwona to dwa słowa: biało i czerwona. 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.

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 uruchomiono
Wejście
Hi, there! Ok.
Oczekiwane wyjście
Hi
there
Ok

Test 2

Nie uruchomiono
Wejście
Ala; ma, kota
Oczekiwane wyjście
Ala
ma
kota

Test 3

Nie uruchomiono
Wejście
Co?! Naprawdę... Tak: to prawda
Oczekiwane wyjście
Co
Naprawdę
Tak
to prawda

Test 4

Nie uruchomiono
Wejście
Bez interpunkcji
Oczekiwane wyjście
Bez interpunkcji

Test 5

Nie uruchomiono
Wejście
Liczba 3.14 to pi
Oczekiwane wyjście
Liczba 3
14 to pi

Test 6

Nie uruchomiono
Wejście
Spacje   ,   wokół;fragmentów
Oczekiwane wyjście
Spacje
wokół
fragmentów

Test 7

Nie uruchomiono
Wejście
Myślnik - to nie separator, a cudzysłów "też" nie.
Oczekiwane wyjście
Myślnik - to nie separator
a cudzysłów "też" nie
Uruchom z własnymi danymi