Wycinki listy

Zadanie 19 z 21 · rozdział 9Trudność: 1 z 3listywycinkislicing

Treść zadania

Wczytaj listę n liczb całkowitych oraz liczbę k. Wypisz kolejno:

  1. pierwsze k elementów listy,
  2. ostatnie k elementów listy,
  3. co drugi element listy, zaczynając od pierwszego (indeksy $0, 2, 4, \ldots$),
  4. listę odwróconą,
  5. listę bez pierwszego i ostatniego elementu.

Każdą z tych list uzyskaj jednym wycinkiem (ang. slicing), bez pętli.

Dane wejściowe

  • 1. linia: liczba elementów n
  • 2. linia: n liczb całkowitych oddzielonych spacjami
  • 3. linia: liczba k

Dane wyjściowe

Pięć linii — listy z punktów 1–5 w tej kolejności, w formacie print(lista).

Ograniczenia

  • $1 \le k \le n$

Uwagi

  • Wycinek lista[start:stop] to nowa lista z elementami o indeksach od start do stop - 1, np. dla lista = [10, 20, 30, 40, 50] wycinek lista[1:3] to [20, 30].
  • Pominięty start oznacza „od początku”, a pominięty stop — „do końca”: lista[2:] to [30, 40, 50].
  • Indeksy ujemne liczymy od końca: lista[-1] to ostatni element (50), a lista[-2] — przedostatni (40).
  • Trzecia liczba to krok: lista[start:stop:krok] bierze co krok-ty element, np. lista[1::3] to [20, 50]. Krok może być ujemny — wtedy elementy są brane od końca.
  • Wycinek nigdy nie zmienia oryginalnej listy.

Przykład

Wejście
6
1 2 3 4 5 6
2
Wyjście
[1, 2]
[5, 6]
[1, 3, 5]
[6, 5, 4, 3, 2, 1]
[2, 3, 4, 5]

Potrzebujesz teorii?

Zasady obowiązujące w rozdziale 9

Zadania w tym rozdziale ćwiczą podstawowe operacje na listach: wczytywanie, przechodzenie pętlą, modyfikowanie elementów, wyszukiwanie i zliczanie.

Konwencje wspólne:

  • Każde zadanie (i każdy podpunkt) to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
  • Lista na wejściu zajmuje dwie linie: w 1. linii jest liczba elementów n, a w 2. linii — n liczb oddzielonych pojedynczymi spacjami. Dodatkowe dane (np. szukany klucz) są w kolejnych liniach, po jednej wartości w linii.
  • Taką listę wczytasz np. tak:
    ```python
    n = int(input())
    lista = [int(x) for x in input().split()]
    `
  • Gdy wynikiem jest lista, wypisz ją instrukcją print(lista). Python wypisze ją w nawiasach kwadratowych, z elementami oddzielonymi przecinkiem i spacją, np. [4, 10, 8]. Pusta lista to [].
  • Jeśli zadanie mówi „oddzielone spacją” — użyj pojedynczej spacji.
  • Indeksy elementów liczymy od 0.
  • Program nie wypisuje komunikatów typu „Podaj liczbę:”.

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
1
7
1
Oczekiwane wyjście
[7]
[7]
[7]
[7]
[]

Test 2

Nie uruchomiono
Wejście
5
10 20 30 40 50
5
Oczekiwane wyjście
[10, 20, 30, 40, 50]
[10, 20, 30, 40, 50]
[10, 30, 50]
[50, 40, 30, 20, 10]
[20, 30, 40]

Test 3

Nie uruchomiono
Wejście
2
-1 -2
1
Oczekiwane wyjście
[-1]
[-2]
[-1]
[-2, -1]
[]

Test 4

Nie uruchomiono
Wejście
7
3 1 4 1 5 9 2
3
Oczekiwane wyjście
[3, 1, 4]
[5, 9, 2]
[3, 4, 5, 2]
[2, 9, 5, 1, 4, 1, 3]
[1, 4, 1, 5, 9]

Test 5

Nie uruchomiono
Wejście
4
8 6 7 5
2
Oczekiwane wyjście
[8, 6]
[7, 5]
[8, 7]
[5, 7, 6, 8]
[6, 7]
Uruchom z własnymi danymi