Kryteria startu
Minuty przed startem dyrektor startu odpytuje zespoły. Start dochodzi do skutku tylko wtedy, gdy spełniona jest każda zasada: wiatr mieści się w limicie, w pobliżu nie ma wyładowań, a bezpieczeństwo strefy podaje GO. Jedna niespełniona zasada oznacza HOLD.
Napisz decyzję GO/HOLD, a potem spraw, żeby mówiła, które zasady wstrzymują start.
Ukończ etap 1, aby odblokować ten etap.
Zezwól na start tylko wtedy, gdy spełnione są wszystkie trzy zasady: wiatr jest słabszy niż 30 km/h, nie ma wyładowań, a bezpieczeństwo strefy podaje GO. Przy dzisiejszych raportach:
Start: GO
Połącz trzy warunki przez and. lightning to True albo False, więc not lightning oznacza „brak wyładowań”. „Słabszy niż 30” oznacza, że samo 30 to już za dużo.
Ukończ etap 1, aby odblokować ten etap.
Raporty się zmieniły: wiatr się wzmógł i są wyładowania. Samo HOLD nie mówi dyrektorowi startu, na co czekać. Przed decyzją wypisz jedną linię dla każdej niespełnionej zasady:
Wiatr 34 km/h, limit 30 km/h Wyładowania w okolicy Start: HOLD
Daj każdej zasadzie osobny if, a nie elif, żeby zgłaszana była każda niespełniona zasada, a nie tylko pierwsza. Gdy bezpieczeństwo strefy nie podaje GO, wypisz, co podało: Bezpieczeństwo strefy: NO GO.
Podpowiedzi
Operatory logiczne and, or, not
# Operatory logiczne
fuel = 80
crew = True
weather = "dobra"
# AND - oba warunki muszą być prawdziwe
if fuel > 50 and crew:
print("Podstawowe warunki spełnione")
# OR - wystarczy jeden warunek
if weather == "dobra" or weather == "akceptowalna":
print("Warunki atmosferyczne OK")
# NOT - negacja
failure = False
if not failure:
print("Brak awarii - można startować")
# Złożone warunki
if fuel > 50 and crew and not failure:
print("WSZYSTKIE SYSTEMY GOTOWE!")
else:
print("Start wstrzymany")
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].