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.