Cyfry w słowach
Treść zadania
Wczytaj zdanie i wypisz wszystkie ciągi cyfr, które są „przyklejone” do liter. Chodzi o najdłuższe ciągi kolejnych cyfr 0–9, bezpośrednio przed którymi lub bezpośrednio po których stoi litera (także polska).
Cyfry oddzielone od liter spacją, interpunkcją czy myślnikiem się nie liczą. Na przykład w s3łuchali91 są dwa ciągi: 3 i 91, w 3.5kg tylko 5, a samodzielna liczba 22 nie jest wynikiem.
Dane wejściowe
- 1. linia: zdanie
Dane wyjściowe
- Znalezione ciągi cyfr, każdy w osobnej linii, w kolejności występowania (z zerami na początku, jeśli są),
Brak ciągów cyfr.— jeśli nie ma żadnego takiego ciągu.
Uwagi
- Przydadzą się asercje:
(?<=...)sprawdza, co stoi tuż przed dopasowaniem, a(?=...)— co stoi tuż po nim. Dowolną literę (także polską) opisuje klasa[^\W\d_](„znak słowa, który nie jest cyfrą ani_”).
Przykład
Jerzy29 i An37a s3łuchali91 lekcji 22 z języka polskiego
29 37 3 91
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 uruchomionoab12 cd 3e4 f
12 3 4
Test 2
Nie uruchomionox9y z 10
9
Test 3
Nie uruchomionoRok 2023r. i 15 kg
2023
Test 4
Nie uruchomiono3.5kg mąki i 2 jajka
5
Test 5
Nie uruchomionoą1ę22ł333
1 22 333
Test 6
Nie uruchomiono12-ty raz, 007Bond
007
Test 7
Nie uruchomionoPokój 12 na piętrze 3
Brak ciągów cyfr.