Nieosiągalna gałąź
Czujnik mocowania silnika zmierzył drgania 63, dużo powyżej krytycznego progu 50. Kod monitorujący zgłosił WARN i nikt nie wyłączył silnika.
Przewidź, co wypisze kontrola, sprawdź, dlaczego gałąź CRITICAL nigdy się nie wykonuje, popraw ją, a potem napisz łańcuch z czterema poziomami.
Ukończ etap 1, aby odblokować ten etap.
Nie uruchamiaj jeszcze kodu. Przeczytaj go i zdecyduj, co wypisze. 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.
Przejdź przez warunki po kolei, tak jak Python, z wartością 63.
Ukończ etap 1, aby odblokować ten etap.
Zbadaj. Przepisz warunek, który Python sprawdza najpierw, do checked_first, jako tekst. Potem pomyśl o dowolnej wartości: czy przy tej kolejności mogłaby kiedykolwiek trafić do gałęzi CRITICAL? Zapisz True albo False w critical_reachable.
Zmień. Popraw kolejność, żeby odczyty powyżej 50 zgłaszały CRITICAL, powyżej 30 WARN, a pozostałe OK. Dla 63 ma wypisać:
CRITICAL
Ukończ etap 2, aby odblokować ten etap.
Monitor promieniowania potrzebuje czterech poziomów, ustalonych przez lekarza lotu:
poniżej 30 NORMAL od 30, poniżej 100 ELEVATED od 100, poniżej 1000 HIGH od 1000 SHELTER
Wypisz poziom dla odczytu. Dla 140 to HIGH. Ułóż łańcuch tak, żeby każda gałąź była osiągalna.
Podpowiedzi
Instrukcja if-elif-else
# If-elif-else: wiele warunków
speed = 25000 # km/h
if speed < 1000:
print("Faza: Start")
elif speed < 10000:
print("Faza: Wznoszenie")
elif speed < 28000:
print("Faza: Orbitowanie")
else:
print("Faza: Prędkość ucieczki!")
# Ocena misji
points = 85
if points >= 90:
rating = "Doskonała"
elif points >= 75:
rating = "Dobra"
elif points >= 60:
rating = "Zadowalająca"
else:
rating = "Do poprawy"
print(f"Ocena misji: {rating}")
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].