Diberikan rangkaian seni ASCII seperti itu (Ini bukan seni ASCII tetapi akan lakukan sebagai contoh):
abc
d e
fgh
Mengacaukan seolah-olah sedang ditampilkan di layar dengan satu karakter per baris, seperti:
a
b
c
d
e
f
g
h
Cetak hasilnya, tunggu satu detik, ± 0,5 detik sebelum membersihkan terminal dan cetak hal yang sama, tetapi dengan 2 karakter ditampilkan per baris, bukan 1. Pada dasarnya, lebar layar berubah dari 1 menjadi 2.
ab
c
d
e
fg
h
Perhatikan spasi setelah d
. Ulangi menunggu, lalu cetak dengan karakter tambahan per baris sampai teks yang dimasukkan keluar.
Jika Anda menekan ujung garis ketika mencoba untuk mencetak karakter, maka Anda memasukkan baris baru dan mencetak sisanya mengikuti aturan ini. Misalnya input:
abcdefg
ab
Akan mencetak yang berikut ketika panjang tampilan adalah 4.
abcd
efg
ab
Anda dapat menemukan efek ukuran terminal di sini: https://repl.it/GoeU/1 . Jalankan program, lalu seret benda yang memisahkan terminal dari editor teks bolak-balik.
Klarifikasi:
Setelah sebuah garis muncul persis seperti yang diinput, Anda dapat membiarkan baris itu sendiri untuk jumlah karakter yang lebih besar per baris.
abc
ab
harus dicetak
ab
c
ab
ketika panjang kalimat = 2.
Ini adalah kode-golf , jadi jumlah byte yang paling sedikit menang!
Aturan:
- Harus mencetak ke STDOUT sebagai satu-satunya keluaran.
- Harus menghapus terminal, atau menciptakan ilusi membersihkan terminal dengan menambahkan 150 atau lebih baris kosong.
- Dapat mengambil input melalui metode standar.
- Celah default berlaku.
- Mengejar hal-hal dengan teks BUKAN OKE.
Ide ini muncul ketika saya mengubah ukuran terminal dengan seni ASCII di atasnya. Itu terlihat menarik, jadi saya memutuskan untuk membuat tantangan darinya.
Kasus uji:
Karena akan terlalu sulit untuk menunjukkan setiap langkah untuk setiap kasus uji secara individual, saya akan meninjau setiap jawaban untuk memastikan itu valid. Pastikan jawabannya dapat menangani test case.
______ ______ __ __ __ ______ __ __ ______
/\ == \ /\ == \ /\ \ /\ "-.\ \ /\__ _\ /\ "-./ \ /\ ___\
\ \ _-/ \ \ __< \ \ \ \ \ \-. \ \/_/\ \/ \ \ \-./\ \ \ \ __\
\ \_\ \ \_\ \_\ \ \_\ \ \_\\"\_\ \ \_\ \ \_\ \ \_\ \ \_____\
\/_/ \/_/ /_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_____/
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__
Python 3.5 (
238233229225223222 byte)- Bekerja dengan baik di terminal windows; tidak yakin tentang platform lain, karena perintah os.system ("cls") khusus sistem.
- String yang lewat harus ditandai oleh \ n untuk baris baru, misalnya: 'abc \ nd efgh \ n'
sumber
z=print
di bagian atas, dan kemudian mengubah semua contoh lainnyaprint()
menjadiz()
.print
denganrange
, dan bukannyarange(0,3)
menggunakanrange(3)
.sleep(0.5)
dapat ditulis ulang hanya sebagaisleep(.5)