Rozsądne wartości domyślne
Większość poleceń do statku wysyła się tak samo: trzy ponowienia, pięć sekund na odpowiedź. Tylko niektóre potrzebują czegoś innego, jak więcej ponowień przy rozkładaniu paneli słonecznych albo krótki limit czasu przy przerwaniu misji, gdzie czekanie jest gorsze niż porażka.
Daj funkcji łącza rozsądne wartości domyślne, a potem dodaj opcję, nie ruszając żadnego z jej wywołań.
Ukończ etap 1, aby odblokować ten etap.
Daj retries wartość domyślną 3, a timeout wartość domyślną 5.0, żeby trzy wywołania pod funkcją wypisały:
PING (ponowienia: 3, limit czasu: 5.0 s) DEPLOY_ARRAY (ponowienia: 5, limit czasu: 5.0 s) ABORT (ponowienia: 3, limit czasu: 1.0 s)
Wpisz wartości domyślne w linii def: def send_command(cmd, retries=3, timeout=5.0):. Wywołania zostają bez zmian.
Ukończ etap 1, aby odblokować ten etap.
Polecenia przerwania muszą wskakiwać na początek kolejki. Dodaj parametr priority z wartością domyślną "normal", pokaż go w linii i dodaj czwarte wywołanie:
PING (ponowienia: 3, limit czasu: 5.0 s, priorytet: normal) DEPLOY_ARRAY (ponowienia: 5, limit czasu: 5.0 s, priorytet: normal) ABORT (ponowienia: 3, limit czasu: 1.0 s, priorytet: normal) ABORT (ponowienia: 3, limit czasu: 1.0 s, priorytet: high)
Umieść nowy parametr na końcu, żeby każde wcześniej napisane wywołanie znaczyło to samo, i dodaj na dole print(send_command("ABORT", priority="high", timeout=1.0)).
Podpowiedzi
Wartości domyślne parametrów
# Parametry z wartościami domyślnymi
def ship_status(name, fuel=100, crew=True):
print(f"Statek: {name}")
print(f"Paliwo: {fuel}%")
print(f"Załoga na pokładzie: {crew}")
print()
# Wszystkie argumenty
ship_status("Explorer", 75, True)
# Tylko wymagane
ship_status("Voyager")
# Mieszane - argumenty nazwane
ship_status("Pioneer", crew=False)
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].