3.1 Największa różnica sum kodów

Matura maj 2026 - Matura z informatyki: arkusze krok po kroku (Python)

Zadanie 3.1 (2 pkt): para słów z największą wartością \( |f(s_1) - f(s_2)| \), gdzie \( f(s) \) to suma kodów ASCII liter (`ord`). `max(pairs, key=difference)` zwraca parę, dla której funkcja `difference` daje największą wartość. Dla pliku przykładowego arkusz podaje: `eddcd eededcddceeecededcc 1403`.

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)

print("3.1", *best31, difference(best31))

Ł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.