Wyrównana tablica statusu
Przed startem kierownik lotu czyta tablicę statusu: każdy system i jego stan, po jednym w linii. Nazwy mają różne długości, więc stany rozjeżdżają się po ekranie, a HOLD łatwo przeoczyć.
Wyrównaj stany w kolumnie. Specyfikatory formatu mogą nadać każdej wartości stałą szerokość, więc następna kolumna zawsze zaczyna się w tym samym miejscu, niezależnie od nazwy.
Ukończ etap 1, aby odblokować ten etap.
Kod startowy wypisuje tablicę, ale HOLD stoi bardziej na lewo niż GO nad nim. Spraw, żeby stany zaczynały się w tej samej kolumnie:
Napęd GO Nawigacja GO Łączność HOLD
Nadaj każdej nazwie szerokość 12 znaków z wyrównaniem do lewej: {system1:<12}. Python dopełni resztę spacjami, więc usuń spację wpisaną między dwiema wartościami.
Ukończ etap 1, aby odblokować ten etap.
Dodaj wiersz nagłówka, żeby było wiadomo, co jest w kolumnach:
SYSTEM STAN Napęd GO Nawigacja GO Łączność HOLD
Specyfikatory formatu działają na każdej wartości, także na tekście wpisanym prosto w nawiasy: {'SYSTEM':<12}. W środku użyj drugiego rodzaju cudzysłowu, żeby nie zakończyć f-stringa.
Ukończ etap 2, aby odblokować ten etap.
Tablica dostaje trzecią kolumnę: temperaturę każdego systemu w °C. Liczby czyta się najlepiej wyrównane do prawej, z kropkami dziesiętnymi jedna pod drugą. Nadaj stanom szerokość 6, a kolumnie temperatury szerokość 7 znaków, wyrównanie do prawej i jedno miejsce po przecinku. Nagłówek wyrównaj tak samo:
SYSTEM STAN TEMP Napęd GO 412.5 Nawigacja GO 21.0 Łączność HOLD -40.3
Jeden specyfikator może łączyć wyrównanie, szerokość i liczbę miejsc po przecinku: {temp1:>7.1f}.
Podpowiedzi
Formatowanie tekstu z f-string
# F-stringi - nowoczesne formatowanie tekstu
astronaut = "Jan Kowalski"
mission = "Mars Explorer"
days_in_space = 180
# Wstawiamy zmienne w tekst za pomocą {}
print(f"Astronauta: {astronaut}")
print(f"Misja: {mission}")
print(f"Czas trwania: {days_in_space} dni")
# Możemy też wykonywać obliczenia
print(f"To jest {days_in_space / 30:.1f} miesięcy")
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].