Cyfry w słowach

Zadanie 8 z 13 · rozdział 23Trudność: 2 z 3regexstring

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

Wejście
Jerzy29 i An37a s3łuchali91 lekcji 22 z języka polskiego
Wyjście
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ą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
ab12 cd 3e4 f
Oczekiwane wyjście
12
3
4

Test 2

Nie uruchomiono
Wejście
x9y z 10
Oczekiwane wyjście
9

Test 3

Nie uruchomiono
Wejście
Rok 2023r. i 15 kg
Oczekiwane wyjście
2023

Test 4

Nie uruchomiono
Wejście
3.5kg mąki i 2 jajka
Oczekiwane wyjście
5

Test 5

Nie uruchomiono
Wejście
ą1ę22ł333
Oczekiwane wyjście
1
22
333

Test 6

Nie uruchomiono
Wejście
12-ty raz, 007Bond
Oczekiwane wyjście
007

Test 7

Nie uruchomiono
Wejście
Pokój 12 na piętrze 3
Oczekiwane wyjście
Brak ciągów cyfr.
Uruchom z własnymi danymi