Mein erstes Programmierpuzzlespiel und Codegolf ist das Sieben-Schrägstrich-Display . Hier ist meine erste Challenge, die ebenfalls auf einer 7-Segment-Anzeige basiert.
Ich denke oft neben Zahlen darüber nach, welche Buchstaben ich mit einer einfachen 7-Segment-Anzeige darstellen kann. Es können sehr viele Buchstaben angezeigt werden. Tatsächlich können alle Buchstaben außer K, M, V, W, X mit einer einzigen 7-Segment-Anzeige angezeigt werden. Dies liegt daran, dass Sie entweder Kleinbuchstaben oder Großbuchstaben eines Buchstabens anzeigen können. z.B
"abcdef" kann angezeigt werden als
_ _ _ _
!_!!_ ! _!!_ !_
! !!_!!_ !_!!_ !
Beachten Sie, dass jedes Zeichen eine 3x3-Matrix aus !
und ist _
.
Natürlich kann die 7-Segment-Anzeige zur Anzeige von Zahlen und Symbolen verwendet werden:
_ _ _ _ _ _ _
! _ !_ !_ ! _! !!_ !_!! !_!!_!
! _!!_ !_! !_! ! _!! !_ ! ! _!
Einige Buchstaben können sowohl Groß- als auch Kleinbuchstaben enthalten:
_ _
! _ !_!!_ ! ! ! _ ! !
!_ !_ ! !! ! ! !!_!!_!!_!!_!
Hier sind die vollständigen Zeichen:
_ _ _ _ _ _ _ _ _
! ! ! _! _!!_!!_ !_ !!_!!_! _ !_ _ _ _!
!_! !!_ _! ! _!!_! !!_! _! !_ ! ! !!_!!_! !
_ _ _ _ _ _ _ _ _ _
!_!!_ ! _!!_ !_ ! !_! ! !! _ ! !!_!!_! _ !_ !_ ! !!_! _!
! !!_!!_ !_!!_ ! !_!! ! !!_!!_ ! !!_!! !! _!!_ !_! _!!_
Achten Sie darauf, dass ein Leerzeichen ( ), ein Bindestrich (
-
) und ein Fragezeichen ( ?
) vorhanden sind. Der Brief I
, O
und Z
ist die gleiche wie Zahlen 1
, 0
und 2
jeweils.
In dieser Herausforderung schreiben Sie ein Programm oder eine Funktion zum Anzeigen einer Zeichenfolge im obigen 7-Segment-Anzeigeformat.
Regeln
Sie können ein Programm oder eine Funktion schreiben
Dies ist Code-Golf, der kürzeste Code in Bytes gewinnt
Ihr Programm oder Ihre Funktion sollte Eingaben von STDIN oder als Parameter erhalten. Und gibt eine Zeichenfolge an STDOUT oder als Zeichenfolge in 3 Zeilen ohne vorangestelltes Leerzeichen aus, die jedoch mit einem Zeilenumbruch abgeschlossen wird. Behandeln Sie die Groß- / Kleinschreibung
CHIOU
richtig.Optional können Sie nachfolgende Leerzeichen drucken
Sie müssen das obige Format befolgen. Verwenden Sie Unterstrich
_
und Ausrufezeichen!
, um Ihre 7-Segment-Anzeige zu erstellen.Sie müssen Leerzeichen (
), Bindestrich (
-
) und Fragezeichen (?
) unterstützenWenn die Zeichenfolge ein nicht unterstütztes Zeichen (k, m, v, w, x) enthält, wird ein einzelnes Fehlerzeichen (3 Horizontlinien, siehe Beispiel) angezeigt. Neben den 5 nicht unterstützten Zeichen können Sie davon ausgehen, dass die Eingabe nur aus dem unterstützten Zeichensatz besteht.
Ich habe mich aus
l
Unklarheiten dafür entschieden, keinen Buchstaben für Kleinbuchstaben L ( ) zu haben, aber wenn Sie so geneigt sind, können Sie ihn wie einen1
entweder rechts oder links anzeigen .
Beispiele
$./a.out Start
_ _
!_ !_ !_! _ !_
_!!_ ! !! !_
$./a.out "7-seg dIsplay"
_ _ _ _ _ _ _
! _ !_ !_ ! _! !!_ !_!! !_!!_!
! _!!_ !_! !_! ! _!! !_ ! ! _!
$./a.out "0123456789 chiou-?"
_ _ _ _ _ _ _ _ _
! ! ! _! _!!_!!_ !_ !!_!!_! _ !_ _ _ _!
!_! !!_ _! ! _!!_! !!_! _! !_ ! ! !!_!!_! !
$./a.out "ABCDEFGHIJLNOPQRSTUZ"
_ _ _ _ _ _ _ _ _ _
!_!!_ ! _!!_ !_ ! !_! ! !! _ ! !!_!!_! _ !_ !_ ! ! _!
! !!_!!_ !_!!_ ! !_!! ! !!_!!_ ! !!_!! !! _!!_ !_!!_
$./a.out "abcdefghijlnopqrstuz"
_ _ _ _ _ _ _ _
!_!!_ _ _!!_ !_ ! !_ !! _ _ !_!!_! _ !_ !_ _!
! !!_!!_ !_!!_ ! !_!! ! !!_!!_ ! !!_!! !! _!!_ !_!!_
$./a.out "Bad Form"
_
_
_
$./a.out "Hello"
_
!_!!_ ! ! _
! !!_ !_ !_ !_!
$./a.out "World"
_
_
_
\r
) mit Zeilenvorschub (LF, \n
) verwechselt . * nix verwendet LF und Windows verwendet CRLF. Nur bestimmte Altsysteme verwenden CR für sich. Weitere Informationen hier: en.wikipedia.org/wiki/Newline
k, m, v, w, x
, nicht angezeigt werden.