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" aHello
,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)Respuestas:
Pitón 2 - 269
275 290 318 337La entrada es mayormente segura si usa comillas triples:
"""print("Hello, World!"); sys.exit()"""
La codificación no parece ayudar mucho,
excepto con los caracteres incómodos ¬ y £ (he intentado ver otros problemas como este y creo que debería tratar de usar dividir?)(No parece que el teclado se comprima lo suficiente para que valga la pena.decode
, etc ...)Además, los espacios apestan.
Nota de edición: la indexación es extraña
fuente
PowerShell - 295
Toma la entrada de la consola (Read-Host) y las salidas a la consola.
fuente