Emular la escritura del profesor
Antecedentes
Desafortunadamente, el profesor no puede usar su teclado correctamente: cada vez que debe usar la Shifttecla, presiona Caps Lock una vez antes de escribir y no se molesta en corregirse. Si hay dos o más teclas seguidas que requieren Shift, presiona Caps Lockantes de la primera y no hace nada antes que las demás.
Como su secretario, quiero replicar este efecto para que la gente piense que él es el que responde a sus correos electrónicos, no yo. Sabe que su escritura parece estúpida, pero no le importa.
Tarea
Escriba un programa que tome STDIN o la entrada de un archivo de texto, y luego emita ese texto como si hubiera sido escrito por el Profesor.
Este es el código de golf , y las lagunas estándar no están permitidas.
Diseño del teclado
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 , . /
Ejemplo de entrada / salida
(La CapsLock
línea está ahí para su comprensión y no debe aparecer en su programa)
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
podría ser "corregida" a Hello
, HEllo
, HELlo
, etc.
Hello
solo, según lo definido por el caso de palabras (o las reglas fijas de la carcasa correcta en inglés)