Gracias al desafío reciente de MD XF , ¡ahora podemos leer contraseñas en muchos idiomas diferentes! El problema es que ahora necesitamos portar nuestras aplicaciones a dispositivos móviles, y ellos ingresan la contraseña de manera un poco diferente.
Desafío
- Leer una cadena del teclado.
- Cada vez que
kse ingresa un carácter , muéstrelo por un breve intervalo de tiempo. - Después de que el intervalo de tiempo haya pasado O el usuario haya ingresado otro carácter, reemplácelo
kcon algún carácterc.
Reglas
cdebe ser constante; Debe ser el mismo personaje.cpuede ser cualquier carácter visible (es decir, no puede ser una nueva línea, espacio, tabulación o no imprimible).cno puede basarse en ninguna entradak;cdebe estar definido / constante antes de quekse lea el primero .cdebe ser el mismo cada vez que se ejecuta el programa.cpuede ser uno de los valores dados comokpor accidente, siempre que se sigan todas las demás reglas.- Debe imprimir
ken tiempo real. Tan pronto como el usuario ingrese uno nuevok, debe mostrarlo de inmediato. kdebe ser visible para el usuario final antes de cambiarlo ac; El intervalo de tiempo no será inferior a 0,5 segundos.kdebe ser reemplazado porcdentro de un tiempo razonable; el intervalo de tiempo no debe exceder los 5 segundos.- Tan pronto como se introduce un nuevo personaje, si el intervalo de tiempo ha expirado, se debe reemplazar
kconcy utilizar la clave introducida como la nuevakforma inmediata. - Es aceptable borrar y volver a dibujar la pantalla cada vez que necesite cambiar un personaje.
- Puede usar cualquier método razonable de entrada y salida siempre que se sigan todas las demás reglas.
- Puede suponer que el número de caracteres ingresados nunca es más largo que el ancho de la ventana del terminal / gráfico.
- Si usa un terminal, su programa debe finalizar después de ingresar una nueva línea o alcanzar EOF.
- Su programa debe funcionar como se describe aquí en entornos móviles y de otro tipo.
- Su programa puede suponer que la entrada solo contendrá caracteres imprimibles (letras, números, símbolos) y posiblemente una nueva línea de terminación (sin retroceso, teclas de flecha, borrar, etc.).
- Su programa puede finalizar cuando se presiona Ctrl + C.
- Puede finalizar su programa cerrando una ventana, si su programa inicia una.
Puntuación
Esto es código golf , por lo que gana la respuesta más corta en cada idioma.
Ejemplo
Aquí hay un ejemplo de cómo debería ser. Tenga en cuenta que esto se registra en una plataforma móvil, pero también debería funcionar en una plataforma de escritorio.


Respuestas:
HTML + JavaScript, 20 + 105 = 125 bytes
La demora entre la entrada
ky la carta*es de un segundo.JavaScript
oninput, formateadoFragmento de prueba
Se agregó el soporte final (
>) para una mejor compatibilidad.fuente
Python 3 ,
186224 bytesFunciona solo en ventanas.
Versión anterior (186 bytes): la suspensión fue obligatoria independientemente de la velocidad a la que se presionó la tecla.
fuente
As soon as a new character is entered, whether or not the time interval has expired, you should replace k with c and use the entered key as the new k immediately.Dicho esto, no puedo probarlo ya que no ejecuto Windows, ¡hágamelo saber! Puede encontrar este desafío relacionado útil como referenciaPython 2 , 133 bytes
Basado en la respuesta @officialaimm .
fuente
\ren la impresión