Połączenie dwóch list
Treść zadania
Wczytaj dwie listy liczb całkowitych i utwórz z nich dwie nowe listy:
a) Listę powstałą przez doklejenie listy 2 na koniec listy 1.
b) Kopię listy 1, w której elementy o parzystych indeksach (0, 2, 4, …) zastąpiono elementami listy 2 o tych samych indeksach. Element zastępujesz tylko wtedy, gdy indeks istnieje w obu listach — pozostałe elementy listy 1 zostają bez zmian.
Oba podpunkty wykonaj na oryginalnych listach z wejścia.
Dane wejściowe
- 1. linia: lista 1 — liczby całkowite oddzielone spacjami
- 2. linia: lista 2 — liczby całkowite oddzielone spacjami
Dane wyjściowe
- 1. linia: wynik podpunktu a) jako lista, np.
[1, 2, 3, 4, 5, 6] - 2. linia: wynik podpunktu b) jako lista
Przykłady
1 2 3 4 5 6
[1, 2, 3, 4, 5, 6] [4, 2, 6]
-2 8 3 6 7 5 0
[-2, 8, 3, 6, 7, 5, 0] [7, 8, 0, 6]
Indeksy parzyste listy 1 to 0 i 2 — ich wartości (-2 i 3) zastępujemy wartościami 7 i 0 z listy 2.
Potrzebujesz teorii?
Zasady obowiązujące w rozdziale 10
Zadania w tym rozdziale ćwiczą jednoczesną pracę na dwóch listach (lub dwóch napisach traktowanych jak ciągi znaków): łączenie, porównywanie, przechodzenie po indeksach i scalanie list posortowanych. Pod koniec rozdziału poznasz zbiory (set) — kolekcje bez powtórzeń, które pozwalają jednym działaniem wyznaczyć część wspólną, sumę czy różnicę dwóch list — oraz funkcje zip i enumerate, ułatwiające przechodzenie po dwóch ciągach naraz.
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 listę:”.
- Każda lista zajmuje na wejściu jedną linię, a jej elementy są oddzielone pojedynczymi spacjami, np.
5 3 7 2. Najpierw podana jest lista 1, w następnej linii lista 2. Każda lista ma co najmniej jeden element. - Listę liczb całkowitych wczytasz tak:
lista = [int(x) for x in input().split()](dla liczb zmiennoprzecinkowych użyjfloatzamiastint). - Gdy wynikiem jest lista, wypisz ją tak, jak robi to
print(lista)w Pythonie: w nawiasach kwadratowych, elementy oddzielone przecinkiem i spacją, np.[1, 2, 3]. Pusta lista to[]. - Gdy treść mówi o elementach „oddzielonych przecinkami bez spacji”, wypisz je w jednej linii, np.
5,1,3, bez przecinka na końcu — np.print(*lista, sep=",").
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 uruchomiono0 1 2 3 9 8
[0, 1, 2, 3, 9, 8] [9, 1, 2, 3]
Test 2
Nie uruchomiono5 7 8 9
[5, 7, 8, 9] [7]
Test 3
Nie uruchomiono1 2 3 4 5 10 20 30 40 50
[1, 2, 3, 4, 5, 10, 20, 30, 40, 50] [10, 2, 30, 4, 50]
Test 4
Nie uruchomiono4 4 -1 -2 -3 -4
[4, 4, -1, -2, -3, -4] [-1, 4]
Test 5
Nie uruchomiono1 2 3 4 5 6 0 0 0
[1, 2, 3, 4, 5, 6, 0, 0, 0] [0, 2, 0, 4, 5, 6]