Pertama saya pernah Pemrograman Puzzle & Kode Golf adalah Tujuh-Slash Tampilan . Inilah Tantangan pertama saya, juga berdasarkan tampilan 7-segmen.
Saya sering memikirkan, selain angka, huruf apa yang bisa saya tampilkan menggunakan layar 7 segmen sederhana. Ternyata banyak surat bisa ditampilkan. Bahkan, semua kecuali huruf K, M, V, W, X dapat ditampilkan menggunakan tampilan 7-segmen tunggal. Ini karena Anda dapat menampilkan huruf kecil atau huruf besar. misalnya
"abcdef" dapat ditampilkan sebagai
_ _ _ _
!_!!_ ! _!!_ !_
! !!_!!_ !_!!_ !
Perhatikan bahwa setiap karakter adalah matriks 3x3 yang terdiri dari !dan _.
Tentu saja, tampilan 7-segmen dapat digunakan untuk menampilkan angka dan simbol:
_ _ _ _ _ _ _
! _ !_ !_ ! _! !!_ !_!! !_!!_!
! _!!_ !_! !_! ! _!! !_ ! ! _!
Beberapa huruf dapat memiliki huruf besar dan kecil:
_ _
! _ !_!!_ ! ! ! _ ! !
!_ !_ ! !! ! ! !!_!!_!!_!!_!
Berikut ini karakter lengkapnya:
_ _ _ _ _ _ _ _ _
! ! ! _! _!!_!!_ !_ !!_!!_! _ !_ _ _ _!
!_! !!_ _! ! _!!_! !!_! _! !_ ! ! !!_!!_! !
_ _ _ _ _ _ _ _ _ _
!_!!_ ! _!!_ !_ ! !_! ! !! _ ! !!_!!_! _ !_ !_ ! !!_! _!
! !!_!!_ !_!!_ ! !_!! ! !!_!!_ ! !!_!! !! _!!_ !_! _!!_
Perhatikan bahwa ada spasi putih ( ), tanda hubung ( -) dan tanda tanya ( ?). Hurufnya I, Odan Zsama dengan angka 1, 0dan 2masing - masing.
Dalam tantangan ini, Anda akan menulis program atau fungsi untuk menampilkan string menggunakan format tampilan 7-segmen di atas.
Aturan
Anda dapat menulis suatu program atau fungsi
Ini adalah kode-golf, kode terpendek dalam byte menang
Program atau fungsi Anda harus mengambil input dari STDIN atau sebagai parameter. Dan mengeluarkan string ke STDOUT atau sebagai string dalam 3 baris tanpa spasi sebelum diakhiri dengan baris baru. Tangani huruf besar / kecil
CHIOUdengan benar.Anda dapat mencetak spasi spasi tambahan
Anda harus mengikuti format di atas. Menggunakan tanda garis bawah
_dan tanda seru!untuk membentuk tampilan 7-segmen Anda.Anda harus mendukung spasi putih (
), tanda hubung (-) dan tanda tanya (?)Jika string berisi karakter yang tidak didukung (k, m, v, w, x), karakter kesalahan tunggal (3 garis horizon, lihat contoh) ditampilkan. Selain 5 karakter yang tidak didukung, Anda dapat menganggap input terdiri dari hanya set karakter yang didukung.
Saya memilih untuk tidak memiliki huruf untuk huruf kecil L (
l) karena kebingungan tetapi jika Anda cenderung, Anda dapat menampilkannya seperti1kanan atau kiri.
Contohnya
$./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) dengan umpan baris (LF, \n). * nix menggunakan LF dan Windows menggunakan CRLF. Hanya sistem warisan tertentu yang menggunakan CR dengan sendirinya. Informasi lebih lanjut di sini: en.wikipedia.org/wiki/Newline
k, m, v, w, xtidak ditampilkan.