Wyzwanie
Twoim zadaniem jest wyprowadzenie czasu (w czasie 12 godzin) w sztuce ascii.
Wszystkie znaki, które zostaną użyte, są następujące:
___ __ ___ ____ _ _ _____ __ ______
/ _ \ /_ | |__ \ |___ \ | || | | ____| / / |____ |
| | | | | | ) | __) | | || |_ | |__ / /_ / /
| | | | | | / / |__ < |__ _| |___ \ | '_ \ / /
| |_| | | | / /_ ___) | | | ___) | | (_) | / /
\___/ |_| |____| |____/ |_| |____/ \___/ /_/
___ ___
/ _ \ / _ \ _
| (_) | | (_) | __ _ _ __ _ __ _ __ (_)
> _ < \__, | / _` | ' \ | '_ \ ' \ _
| (_) | / / \__,_|_|_|_| | .__/_|_|_| (_)
\___/ /_/ |_|
(Dla każdej liczby / symbolu osobno zapoznaj się z tą treścią ).
Otrzymasz dane wejściowe w postaci tablicy:
[hours, minutes, 'am/pm']. Na przykład,[4, 57, 'am']z pojedynczymi cudzysłowami używanymi tylko dla am / pm- lub
"hours-minutes-am/pm". Na przykład,"4-56-am" - lub
[hours, 'minutes', 'am/pm']dla języków, które nie obsługują zer wiodących na liczbach. Na przykład,[4, '07', 'am']
Możesz użyć dowolnej metody wprowadzania.
Dane wyjściowe będą miały postać 1 2 : 5 9 am, w której znajduje się jedna spacja początkowa, dwie spacje między każdą liczbą (w treści, każda liczba ma już jedną spację po każdej stronie), jedna spacja między: (dwukropek) i sąsiednie liczby oraz jedna spacja między ostatnią liczbą a am/pmopcjonalnym początkowym i / lub końcowym znakiem nowej linii. Wszystkie spacje znajdują się między skrajnym prawym punktem symbolu po lewej stronie i skrajnym lewym punktem symbolu po prawej stronie.
Dozwolone jest niejawne wyjście.
Wygrywa najniższy rozmiar bajtu.
am/pmMuszą być usytuowane tak, że w dolnej części pIN pmjest wyrównana z dolną częścią końca wyjścia, to jest im undercore oznaczający górę am/pmzaczyna się na trzecim dół linii (nie wliczając czołową przełamane).
Dwukropek ma być wyrównany w taki sposób, aby jego pierwszy znak (podkreślenie) zaczynał się od drugiej linii w dół (nie licząc wiodącej nowej linii).
Dla minutes < 10, wypisz minuty z wiodącym 0(powinieneś otrzymać to na wejściu). Na przykład [8, 04, 'pm']-> 8 : 0 4 pm.
Nie wolno pobierać danych dla numerów z biblioteki lub zasobu zewnętrznego. Wszystkie dane muszą być zawarte w programie.
Na przykład dla danych wejściowych [12, 47, 'am']wynik byłby następujący:
__ ___ _ _ ______
/_ | |__ \ _ | || | |____ |
| | ) | (_) | || |_ / / __ _ _ __
| | / / _ |__ _| / / / _` | ' \
| | / /_ (_) | | / / \__,_|_|_|_|
|_| |____| |_| /_/
(Jeśli zobaczysz jakieś przypadki krawędzi, z którymi nie możesz zdecydować, co zrobić, napisz w komentarzach, a ja dodam je do przykładów).