Odliczanie ze wstrzymaniami
Każdy start ma odliczanie, a większość odliczań ma zaplanowane wstrzymania: przerwy w ustalonych punktach, w których zespoły wykonują ostatnie kontrole. Czasem kontrola wypada źle i start zostaje odwołany na miejscu.
Wypisz odliczanie z jego wstrzymaniami, a potem dodaj odwołanie startu.
Ukończ etap 1, aby odblokować ten etap.
Odliczaj od T-10 do T-0, po jednej linii na sekundę, i dodaj linię wstrzymania po każdej sekundzie, która jest w holds:
T-10 T-9 T-8 T-7 WSTRZYMANIE przy T-7 T-6 T-5 T-4 T-3 WSTRZYMANIE przy T-3 T-2 T-1 T-0
range(10, -1, -1) odlicza do 0: trzecia liczba to krok, a koniec zakresu, -1, jest jak zawsze o jeden za ostatnią liczbą. second in holds sprawdza listę.
Ukończ etap 1, aby odblokować ten etap.
Dodaj scrub_at = None pod holds. Gdy odliczanie dojdzie do sekundy z scrub_at, wypisz linię odwołania i zakończ tam odliczanie, nawet w sekundzie ze wstrzymaniem. Jeśli dojdzie do końca, wypisz Start!:
T-10 T-9 T-8 T-7 WSTRZYMANIE przy T-7 T-6 T-5 T-4 T-3 WSTRZYMANIE przy T-3 T-2 T-1 T-0 Start!
Przy scrub_at = 4 odliczanie kończy się tak:
T-5 T-4 ODWOŁANIE przy T-4
Sprawdzaj odwołanie przed wstrzymaniem, przerwij przez break po linii odwołania i użyj flagi, żeby po pętli zdecydować o Start!.
Podpowiedzi
Pętla for z enumerate i range
# enumerate() - indeks + element
missions = ["Apollo 11", "Apollo 12", "Apollo 13"]
for number, mission in enumerate(missions, start=1):
print(f"{number}. {mission}")
# range() - generowanie sekwencji liczb
print("\nKwadraty liczb:")
for n in range(1, 6):
print(f"{n}^2 = {n**2}")
# range z krokiem
print("\nLata misji (co 5 lat):")
for year in range(2020, 2041, 5):
print(year)
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].