problema al programar novato

si funciona está bien, pero veo un pequeño detalle, que pasara si el usuario presiona si y no al mismo tiempo?
y también lo que puedo ver es que siempre estaría preguntando, no hay una secuencia que "espere" la respuesta del usuario, además si le agregas mas preguntas , se "lanzarán" todas de un solo jalón por el loop.
lo que te recomiendo, y se me ocurre es "hacer la pregunta" entrar a un bucle esperando que cualquiera de los dos botones sea presionado(condifional if (botonS||botonN){break;}) evalua la respuesta y hace la siguiente pregunta. no se si me explico.