3.2 Wspólne wystąpienia liter
Matura maj 2026 - Matura z informatyki: arkusze krok po kroku (Python)
Zadanie 3.2 (3 pkt): dla każdej litery bierze się mniejszą z liczby jej wystąpień w obu słowach (`min(s1.count(x), s2.count(x))`), a wynik pary to suma po wszystkich literach. Przykład z arkusza: `adabbcdde` i `aadabbbccdc` dają 2 + 2 + 1 + 2 = 7. Dla pliku przykładowego: `ccccdcedddddecde ccdcdddecc 10`.
with open("pary_przyklad.txt") as f:
pairs = [line.split() for line in f] # split() bez argumentu usuwa też koniec wiersza
# 3.1 f(s) = suma kodów ASCII znaków słowa, ord("a") = 97
def ascii_sum(word):
return sum(ord(c) for c in word)
def difference(pair):
return abs(ascii_sum(pair[0]) - ascii_sum(pair[1]))
best31 = max(pairs, key=difference)
# 3.2 wspólne wystąpienia litery: minimum z liczby wystąpień w obu słowach
def common(pair):
s1, s2 = pair
return sum(min(s1.count(x), s2.count(x)) for x in "abcdefghijklmnopqrstuvwxyz")
best32 = max(pairs, key=common)
print("3.1", *best31, difference(best31))
print("3.2", *best32, common(best32))Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Matura z informatyki: arkusze krok po kroku·Zaloguj się, aby zapisać postęp na koncie.