Z ilu słów składa się zdanie?

Zadanie 3 z 19 · rozdział 11Trudność: 1 z 3napisysplitsłowa

Treść zadania

Wczytaj zdanie i policz, z ilu słów się składa. Słowa wyznaczaj zgodnie z konwencją rozdziału: znaki interpunkcyjne nie są słowami.

Dane wejściowe

  • 1. linia: zdanie (zawiera co najmniej jedno słowo; słowa mogą być oddzielone kilkoma spacjami)

Dane wyjściowe

Jedna linia: liczba słów.

Przykłady

Wejście
gram na pianinie.
Wyjście
3
Wejście
Ala - jak co dzień - gra.
Wyjście
5

Samotne myślniki nie są słowami, więc słowa to: Ala, jak, co, dzień, gra.

Potrzebujesz teorii?

Zasady obowiązujące w rozdziale 11

Zadania w tym rozdziale ćwiczą podstawowe operacje na napisach: indeksowanie, wycinanie, zamianę znaków, dzielenie zdania na słowa i składanie napisów z części.

Konwencje wspólne:

  • Każde zadanie jest osobnym programem: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
  • Program nie wypisuje komunikatów typu „Podaj napis:”.
  • Napis lub zdanie wczytuj jako całą linię — może zawierać spacje.
  • Słowo to fragment zdania oddzielony od innych spacjami. Znaki interpunkcyjne (np. . , ! ? ; : - ( ) ") stojące na początku lub końcu fragmentu nie należą do słowa (kota. → kota), a fragment złożony wyłącznie z interpunkcji (np. samotny myślnik -) nie jest słowem. W Pythonie słowa uzyskasz tak: podziel zdanie metodą split(), z każdego fragmentu usuń interpunkcję metodą strip(string.punctuation) i pomiń puste wyniki.
  • Gdy wynikiem jest lista, wypisz ją tak, jak robi to print(lista) w Pythonie, np. ['Ala', 'ma', 'kota']. Pusta lista to [].

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
Hello world.
Oczekiwane wyjście
2

Test 2

Nie uruchomiono
Wejście
One, two, three, four!
Oczekiwane wyjście
4

Test 3

Nie uruchomiono
Wejście
Słowo
Oczekiwane wyjście
1

Test 4

Nie uruchomiono
Wejście
  Ala   ma    kota  
Oczekiwane wyjście
3

Test 5

Nie uruchomiono
Wejście
Raz, dwa, trzy - cztery; pięć: sześć.
Oczekiwane wyjście
6
Uruchom z własnymi danymi