Space Python Ładowanie Pythona…

Łap to, czego się spodziewasz

Napraw kodŚredni 3 etapy

Monitor paliwa zgłasza każdy odczyt jako zły, nawet te, które wyglądają zupełnie dobrze. Czujniki sprawdzono dwa razy i działają. Kod ma try i except, więc nie może się wysypać, ale błąd ukrywa się gdzieś w środku.

Przewidź, co wypisze program, sprawdź, co łapie except, i spraw, żeby łapał tylko to, co powinien.

Nie uruchamiaj jeszcze kodu. Przeczytaj go i zdecyduj, co wypisze w ostatniej linii. Wpisz swoje przewidywanie w prediction, na górze, w cudzysłowie. Potem uruchom kod i porównaj.

Na tym etapie zalicza każde przewidywanie: chodzi o to, żeby pomyśleć przed uruchomieniem. Po sprawdzeniu zobaczysz swoje przewidywanie obok tego, co wypisał Python.

Trzy z czterech odczytów wyglądają jak liczby. Ile z nich trafi do good?

Przewiduj, potem uruchom
Zostaw program bez zmian

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

Zbadaj. Zmień except: na except Exception as error: i wypisz w nim type(error).__name__, żeby zobaczyć, co naprawdę jest łapane. Zapisz jego nazwę w hidden_error, a liczbę naprawdę złych odczytów w bad_count.

Zmień. Łap tylko ValueError. Ukryty błąd zatrzyma wtedy program tracebackiem: napraw go. Ma wypisać:

Zły odczyt: n/a
Dobre odczyty: 3
Znajdź to, co było ukryte
Łap tylko ValueError

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

Napisz parse_pressure(text), która zwraca liczbę albo None, gdy tekst nie jest liczbą. Łap tylko ValueError, żeby błąd taki jak parse_pressure(None) nadal zgłaszał swój TypeError. Pętla wypisze:

101.2
None
100.8
Liczby i None
Łapany tylko ValueError
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

script.py
PythonWiersz 1, kol. 1Spacje: 4
Ładowanie środowiska Pythona…

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