es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Vuelve a solicitar readline() si la entrada no es válida.

Digamos que quiero pedir al usuario una entrada, un número mayor a 10. Si no cumple esta condición, imprimir un mensaje y preguntar de nuevo. ¿Cómo se puede lograr esto en R?
Entiendo que esto podría resolverse con una declaración IF o WHILE, pero no puedo entenderlo completamente.

Ejemplo

math <- function(number_1) {
number_1 <- readline("Ingrese su número: ")
   if el número es menor a lo que quiero,vuelvo a pedir readline(...)
result <- number_1 / 2 
return(result)
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para lograr esto en R, puedes usar un bucle while para pedir continuamente al usuario que ingrese un número hasta que introduzca un número mayor o igual a 10. Aquí tienes un ejemplo:

    math <- function() {
      number <- as.numeric(readline("Ingresa un número mayor o igual a 10: "))
    
      while (number < 10) {
        cat("El número debe ser mayor o igual a 10.\n")
        number <- as.numeric(readline("Ingresa un número mayor o igual a 10: "))
      }
    
      result <- number / 2
    
      cat("El resultado es", result, "\n")
      return(result)
    }
    

    En esta función, usamos readline para solicitar al usuario que ingrese un número y lo convertimos en un valor numérico usando as.numeric. Luego, utilizamos un bucle while para solicitar continuamente al usuario que ingrese un número hasta que introduzca un número mayor o igual a 10. Si el usuario ingresa un número menor que 10, imprimimos un mensaje usando cat y le pedimos de nuevo utilizando readline. Una vez que tenemos una entrada válida, realizamos el cálculo deseado e imprimimos el resultado usando cat.

Comments are closed.