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" untuk Hello
, HEllo
, HELlo
, dll
Hello
hanya akan , seperti yang didefinisikan oleh kata kasus (atau aturan tetap casing bahasa Inggris yang benar)