Porównanie dwóch słowników z listami (kolejność list bez znaczenia)
Treść zadania
Wczytaj dwa słowniki, w których kluczami są słowa, a wartościami listy liczb całkowitych. Sprawdź, czy słowniki są identyczne, przy czym kolejność liczb w listach nie ma znaczenia: oba słowniki muszą mieć ten sam zbiór kluczy, a pod każdym kluczem te same liczby, występujące tyle samo razy.
Dane wejściowe
- 1. linia:
n— liczba kluczy pierwszego słownika - następnie
nlinii:klucz v1 v2 v3 …(co najmniej jedna liczba) - następnie linia z
m— liczbą kluczy drugiego słownika - następnie
mlinii:klucz v1 v2 v3 …
W obrębie jednego słownika klucze są różne.
Dane wyjściowe
Jedno słowo: Prawda, jeśli słowniki są identyczne, w przeciwnym razie Fałsz.
Ograniczenia
1 ≤ n, m ≤ 20- każda lista ma od 1 do 20 liczb
Uwagi
- Kolejność kluczy na wejściu też nie ma znaczenia.
- Porównanie zbiorów (
set) nie wystarczy, bo gubi powtórzenia — porównaj posortowane listy.
Przykłady
2 a 1 2 3 b 4 5 2 a 3 2 1 b 5 4
Prawda
1 a 1 2 1 a 2 1 1
Fałsz
Lista 2 1 1 zawiera liczbę 1 dwa razy, a lista 1 2 — tylko raz.
Zasady obowiązujące w rozdziale 17
Zadania w tym rozdziale ćwiczą pracę ze słownikami (dict): tworzenie, dodawanie i usuwanie par, zliczanie wystąpień oraz grupowanie danych według klucza.
Każde zadanie (oraz każdy podpunkt) jest osobnym, niezależnym programem: czyta standardowe wejście (stdin) i wypisuje wynik na standardowe wyjście (stdout).
Konwencje wspólne:
- Dane wczytuj dokładnie w kolejności podanej w sekcji Wejście; jeśli w jednej linii jest kilka wartości — rozbij ją po spacjach.
- Jeśli wynikiem jest słownik, wypisz go tak, jak robi to
print(slownik)w Pythonie:{klucz: wartość, klucz: wartość}— pary oddzielone przecinkiem i spacją, po dwukropku spacja, klucze i wartości napisowe w apostrofach (np.{'ala': 2, 'ma': 1}), liczby bez apostrofów (np.{1: 1, 2: 4}), pusty słownik to{}. - Kolejność par w wypisanym słowniku to kolejność, w jakiej klucze były do niego dodawane (tak zachowuje się słownik w Pythonie).
- 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.
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 uruchomiono2 a 1 2 3 b 4 5 2 b 5 4 a 2 3 1
Prawda
Test 2
Nie uruchomiono1 a 1 2 1 a 1 2 2
Fałsz
Test 3
Nie uruchomiono1 x 7 1 y 7
Fałsz
Test 4
Nie uruchomiono1 k 5 2 k 5 m 1
Fałsz
Test 5
Nie uruchomiono2 a 1 1 2 b 3 2 a 1 2 2 b 3
Fałsz
Test 6
Nie uruchomiono1 liczby -1 0 -1 1 liczby 0 -1 -1
Prawda
Test 7
Nie uruchomiono3 a 1 b 2 c 3 2 a 1 b 2
Fałsz