Postęp w jednej linii
Gdy stacja naziemna wysyła plan lotu do Python One, konsola najpierw pokazuje, co robi, a po zakończeniu, jak poszło. Narzędzia wiersza poleceń robią tak cały czas: widzisz Wysyłanie planu lotu..., gdy czekasz, a gotowe pojawia się w tej samej linii, gdy wszystko się skończy.
Haczyk polega na tym, że każde print() kończy się nową linią, więc dwa wywołania dają dwie linie. Zmień to, czym się kończą.
Ukończ etap 1, aby odblokować ten etap.
Dwa wywołania print() dają dwie linie. Przy prawdziwym wysyłaniu pierwsze pojawia się od razu, a drugie dopiero po zakończeniu, więc zostaw je jako dwa osobne print(). Spraw, żeby dzieliły jedną linię:
Wysyłanie planu lotu... gotowe
Daj pierwszemu print() argument end=" ": wtedy kończy się spacją zamiast nowej linii.
Ukończ etap 1, aby odblokować ten etap.
Pełne wysyłanie ma trzy kroki, a każdy wypisuje swój wynik po zakończeniu. Umieść każdy krok i jego wynik w jednej linii:
Wysyłanie planu lotu... gotowe Sprawdzanie sumy kontrolnej... OK Aktywacja planu... gotowe
end=" " potrzebują tylko wywołania, które pokazują krok. Wyniki zostają ze zwykłym zakończeniem, które zaczyna następną linię.
Ukończ etap 2, aby odblokować ten etap.
Gdy łącze się nawiązuje, stacja naziemna co sekundę wypisuje kropkę, w tej samej linii co komunikat o tym, na co czeka. Potem wynik trafia do nowej linii:
Czekam na stację naziemną... Łącze nawiązane
Tym razem kropki stykają się z tekstem, bez spacji, więc użyj end="". Zastanów się, które wywołanie ma zakończyć linię.
Podpowiedzi
Parametry sep i end w print()
# Parametr sep zmienia separator między elementami
print("Merkury", "Wenus", "Ziemia", "Mars")
print("Merkury", "Wenus", "Ziemia", "Mars", sep=" -> ")
print("Merkury", "Wenus", "Ziemia", "Mars", sep="\n")
# Parametr end zmienia zakończenie linii
print("Odliczanie:", end=" ")
print("3", end="... ")
print("2", end="... ")
print("1", end="... ")
print("START!")
Oddziel argumenty przecinkami. Każde uruchomienie przekazuje je jako sys.argv[1:].