Space Python Ładowanie Pythona…

Pomiń puste linie i komentarze

Napisz kodŚredni 2 etapy

Parser z „Przetwórz cały kanał” działa na czystych danych. Prawdziwy eksport ze stacji naziemnej czysty nie jest: ma komentarz na początku, puste linie między blokami, notatki operatorów, a od czasu do czasu odczyt, który dotarł ucięty.

Naucz parser pomijać to, czego nie może użyć, i nie zatrzymywać się, gdy linia jest uszkodzona.

Parser z „Przetwórz cały kanał” zatrzymuje się z błędem ValueError na pierwszym komentarzu. Pomiń puste linie i komentarze, żeby wypisywał tylko odczyty:

09:30:05 ENG-2: 412.5 C
09:30:05 TANK-1: 78.3 %
09:30:10 CABIN: 101.2 kPa
09:30:10 ENG-2: 415.0 C

Na początku pętli usuń spacje z końców linii, a potem użyj continue, gdy jest pusta albo zaczyna się od #. Najpierw strip: jeden komentarz jest wcięty, a linia może zawierać same spacje.

Pomiń puste linie i komentarze
Działa dla każdego eksportu

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

Jeden odczyt dotarł ucięty: 2026-03-14T09:30:10Z,TANK-1 ma tylko dwa pola i parser się na nim zatrzymuje. Zgłaszaj uszkodzone linie i działaj dalej, a potem policz, co się stało:

09:30:05 ENG-2: 412.5 C
09:30:05 TANK-1: 78.3 %
Uszkodzona linia: 2026-03-14T09:30:10Z,TANK-1
09:30:10 CABIN: 101.2 kPa
09:30:10 ENG-2: 415.0 C
Przetworzone: 4, uszkodzone: 1

Najpierw podziel na fields, a gdy len(fields) != 4, wypisz linię, policz ją i użyj continue. Licz też przetworzone linie i wypisz sumy po pętli.

Zgłaszaj uszkodzone linie
Działa dla każdego eksportu
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:].