Meniru pengetikan Profesor
Latar Belakang
Sayangnya, Profesor tidak dapat menggunakan keyboard dengan benar: setiap kali dia harus menggunakan Shiftkunci, dia menekan Caps Lock sekali sebelum mengetik, dan tidak repot-repot memperbaiki dirinya sendiri. Jika ada dua atau lebih kunci berturut-turut yang diperlukan Shift, ia menekan Caps Locksebelum yang pertama dan tidak melakukan apa-apa di depan yang lain.
Sebagai sekretarisnya, saya ingin meniru efek ini sehingga orang berpikir bahwa dialah yang membalas emailnya, bukan saya. Dia tahu pengetikannya terlihat bodoh, tetapi dia tidak peduli.
Tugas
Tulis program yang mengambil STDIN atau masukan file dari beberapa teks, dan kemudian output teks itu seolah-olah telah diketik oleh Profesor.
Ini kode golf , dan celah standar tidak diperbolehkan.
Tata letak keyboard
Default:
` 1 2 3 4 5 6 7 8 9 0 - =
q w e r t y u i o p [ ]
a s d f g h j k l ; ' #
\ z x c v b n m , . /
With shift:
¬ ! " £ $ % ^ & * ( ) _ +
Q W E R T Y U I O P { }
A S D F G H J K L : @ ~
| Z X C V B N M < > ?
With caps lock:
` 1 2 3 4 5 6 7 8 9 0 - =
Q W E R T Y U I O P [ ]
A S D F G H J K L ; ' #
\ Z X C V B N M , . /
Contoh input / output
( CapsLock
Baris itu hanya ada untuk pengertian Anda, dan tidak boleh ditampilkan dalam program Anda)
Input: abc ** def ! (ghijkl) mnop
Output: abc 88 DEF 1 9GHIJKL0 mnop
CapsLock: * * * * (* means Caps Lock was pressed before this character)
Input: print("Hello, World!"); sys.exit()
Output: print92HELLO, world120; SYS.EXIT90
CapsLock: * * * *
Input: !ABC!abc!ABC!abc!x!y!z
Output: 1ABC1ABC1abc1abc1X1y1Z
CapsLock: * * * * *
HELLO
bisa "diperbaiki" untukHello
,HEllo
,HELlo
, dllHello
hanya akan , seperti yang didefinisikan oleh kata kasus (atau aturan tetap casing bahasa Inggris yang benar)Jawaban:
Python 2 - 269
275 290 318 337Input sebagian besar aman jika Anda menggunakan tiga kutip:
"""print("Hello, World!"); sys.exit()"""
Pengkodean sepertinya tidak banyak membantu,
kecuali dengan karakter ¬ dan £ yang canggung (Saya sudah mencoba melihat masalah lain seperti ini dan saya pikir saya harus mencoba menggunakan split?)(Sepertinya keyboard tidak cukup kompres. untuk membuatnya berharga.decode
, dll ...)Juga, ruang menyedot.
Edit catatan: Pengindeksan aneh
sumber
PowerShell - 295
Mengambil input dari konsol (Read-Host), dan output ke konsol.
sumber