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.