1.3 Dobre passy w pliku przykładowym

Matura próbna grudzień 2022 - Matura z informatyki: arkusze krok po kroku (Python)

Zadanie 1.3 (3 pkt): dobra passa to co najmniej 10 wygranych z rzędu. Program idzie po seriach jednakowych znaków: licznik `length` rośnie przy tym samym znaku, a przy innym znaku (albo za ostatnim znakiem, stąd pętla do `len(game) + 1`) seria się kończy i dopiero wtedy wiadomo, czy była dobrą passą. Bez sprawdzenia po ostatnim znaku umyka passa na końcu meczu. Dla pliku przykładowego: 2 A 1000.

with open("mecz_przyklad.txt") as f:
    game = f.readline().strip()  # jeden wiersz: 10 000 znaków A i B

# 1.3 serie jednakowych znaków: seria kończy się przy innym znaku albo na końcu meczu
streaks, best_length, best_team = 0, 0, ""
length = 1
for i in range(1, len(game) + 1):
    if i < len(game) and game[i] == game[i - 1]:
        length = length + 1
    else:  # koniec serii znaku game[i - 1]
        if length >= 10:
            streaks = streaks + 1
            if length > best_length:
                best_length, best_team = length, game[i - 1]
        length = 1

print("1.3", streaks, best_team, best_length)

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