1. Całe zadanie: plik wyniki1.txt

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

Pełne rozwiązanie zadań 1.1-1.3 jednym programem na pliku `mecz.txt`.

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

# 1.1 zmiana zwycięzcy: znak inny niż poprzedni
changes = sum(1 for i in range(1, len(game)) if game[i] != game[i - 1])

# 1.2 wynik po każdej rozgrywce; set kończy się, gdy prowadzący ma co najmniej 1000 punktów
# i co najmniej 3 punkty przewagi
a, b = 0, 0
for c in game:
    if c == "A":
        a = a + 1
    else:
        b = b + 1
    if max(a, b) >= 1000 and abs(a - b) >= 3:
        break
winner = "A" if a > b else "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

with open("wyniki1.txt", "w", encoding="utf-8") as out:
    print("1.1", changes, file=out)
    print("1.2", winner, f"{a}:{b}", file=out)
    print("1.3", streaks, best_team, best_length, file=out)

print(open("wyniki1.txt", encoding="utf-8").read())

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