Estoy tratando de intentar una pregunta sobre kattis Left behind y mi salida es correcta, pero de alguna manera mi entrada se escribe con la salida con la que estoy tan confundido. ¿Alguien puede decirme cuál es el problema y cómo deshacerse de los números en mi salida?
aquí está mi código: (estoy usando javascript)
const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on('line', (line) => { var nums = line.split(' '); var x = parseInt(nums[0]); var y = parseInt(nums[1]); if (x==0 && y==0 ) { return; } if (x+y==13) { console.log("Never speak again.") } else if (y>x) { console.log("Left Beehind.") } else if ( x > y ) { console.log ("To the convention.") } else{ console.log("Undecided.") } });y esta es mi salida
17 3 To the convention. 13 14 Left Beehind. 8 5 Never speak again. 44 44 Undecided. 0 0Su entrada se escribe con su salida porque especificó process.stdout , que es su consola NodeJS, como salida para la interfaz readline .
Por lo tanto, readline está leyendo correctamente las líneas, emitiendo el evento de line para cada línea que recibe/encuentra, luego está realizando algo de lógica e imprimiendo algún texto usando console.log (que a su vez usa process.stdout para imprimir en la consola NodeJS) . Finalmente, readline transmite las líneas a la misma salida.
Elimine la opción de output y debería funcionar como se esperaba.