3.2 Najrzadszy i najczęstszy fragment w pliku przykładowym

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

Zadanie 3.2 (3 pkt): fragment, który występuje najrzadziej, i ten, który występuje najczęściej, z liczbami wystąpień. Lista `count` ma 100 liczników, indeks to wartość fragmentu, więc fragmenty bez wystąpień też są policzone (zero). Przy remisie wygrywa mniejsza wartość: `index()` zwraca pierwszą pozycję. `f"{x:02d}"` dopisuje zero z przodu (fragment 00). Dla pliku przykładowego: 00 0 i 62 4.

with open("pi_przyklad.txt") as f:
    digits = [int(line) for line in f]  # jedna cyfra w każdym wierszu

# 3.2 liczba wystąpień każdego ze 100 fragmentów 00-99 (także takich, których nie ma)
count = [0] * 100
for i in range(len(digits) - 1):
    count[10 * digits[i] + digits[i + 1]] += 1
rarest = count.index(min(count))  # index() daje pierwszy, czyli o mniejszej wartości
commonest = count.index(max(count))

print("3.2")
print(f"{rarest:02d}", count[rarest])
print(f"{commonest:02d}", count[commonest])

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