Space Python Ładowanie Pythona…

Pierwszy błąd

Napisz kodŁatwy 2 etapy

Gdy na pokładzie coś pójdzie nie tak, inżynierowie szukają w dzienniku pierwszego błędu: późniejsze błędy to często tylko skutki pierwszego. W długim dzienniku nie ma sensu czytać dalej, gdy już go znaleziono.

Znajdź pierwszy błąd, zatrzymaj tam wyszukiwanie i zgłoś, co zrobiło wyszukiwanie.

Znajdź pierwszy wpis ERROR, wypisz jego numer linii, licząc od 1, razem z samym wpisem i zakończ tam szukanie:

Pierwszy błąd w linii 4: [T+00:14:47] ERROR Fuel valve 2 not responding

Użyj pętli z enumerate(log, start=1). Szukaj "] ERROR", jak w „Policz ostrzeżenia”, żeby wiadomość, która tylko wspomina to słowo, się nie liczyła. break kończy pętlę.

Znajdź pierwszy błąd
Działa dla każdego dziennika

Ukończ etap 1, aby odblokować ten etap.

Pokaż, jaką część dziennika musiało przejrzeć wyszukiwanie: licz sprawdzone linie i wypisz sumę po pętli. Gdy nie ma żadnego błędu, najpierw wypisz Brak błędów:

Pierwszy błąd w linii 4: [T+00:14:47] ERROR Fuel valve 2 not responding
Sprawdzono 4 z 6 linii

Gdy w dzienniku nie ma błędów:

Brak błędów
Sprawdzono 6 z 6 linii

Ustaw checked = 0 i found = False przed pętlą. W pętli dodawaj 1 do checked dla każdej linii, a found = True ustaw tuż przed break.

Licz sprawdzone linie
Działa bez błędów
Nie jesteś zalogowany, więc postęp zostaje tylko w tej przeglądarce. Zaloguj się, aby go zapisać i korzystać z podpowiedzi oraz rozwiązań.

Podpowiedzi

Break i continue w pętlach

break natychmiast kończy pętlę. continue pomija resztę bieżącej iteracji i przechodzi do następnej. Kontrola przepływu w pętlach.
break-continue-petlach.py
# break - przerywa pętlę całkowicie
print("Szukanie anomalii:")
data = [10, 12, 11, 9, 50, 8, 7]

for value in data:
    if value > 20:
        print(f"ANOMALIA: {value}")
        break
    print(f"Wartość OK: {value}")

# continue - pomija resztę iteracji
print("\nFiltrowanie danych:")
results = [5, -2, 10, -8, 15, -3]

for result in results:
    if result < 0:
        continue  # Pomijamy ujemne
    print(f"Poprawny wynik: {result}")
Otwórz cały przykład
script.py
PythonWiersz 1, kol. 1Spacje: 4
Ładowanie środowiska Pythona…

Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].