R показывает ошибку - "Создание базового c калькулятора" - PullRequest
0 голосов
/ 21 июня 2020
add <- function(x, y) {
  return(x + y)
}
subtract <- function(x, y) {
  return(x - y)
}
multiply <- function(x, y) {
  return(x * y)
}
divide <- function(x, y) {
  return(x / y)
}

factors <- function(x) {
  if (choice == 5 | choice == 6) {
    choice <- readline(prompt = "Enter the number: ")
  }
  
  else {
    num1 = as.integer(readline(prompt = "Enter first number: "))
    num2 = as.integer(readline(prompt = "Enter second number: "))
  }
}


# take input from the user
print("Select operation.")
print("1.Add")
print("2.Subtract")
print("3.Multiply")
print("4.Divide")
print("5. Factors")
print("6. Prime")

choice = as.integer(readline(prompt="Enter choice[1/2/3/4/5/6]: "))
num1 = as.integer(readline(prompt="Enter first number: "))
num2 = as.integer(readline(prompt="Enter second number: "))
operator <- switch(choice,"+","-","*","/")
result <- switch(choice, add(num1, num2), subtract(num1, num2), multiply(num1, num2), divide(num1, num2), factor(i)
print(paste(num1, operator, num2, "=", result))



ERROR IN R CONSOLE -


> choice = as.integer(readline(prompt="Enter choice[1/2/3/45/6]: "))
Enter choice[1/2/3/45/6]: num1 = as.integer(readline(prompt="Enter first number: "))
Warning message:
NAs introduced by coercion 
> num2 = as.integer(readline(prompt="Enter second number: "))
Enter second number: operator <- switch(choice,"+","-","*","/")
Warning message:
NAs introduced by coercion 
> result <- switch(choice, add(num1, num2), subtract(num1, num2), multiply(num1, num2), divide(num1, num2))
> print(paste(num1, operator, num2, "=", result))
Error in paste(num1, operator, num2, "=", result) : 
  object 'num1' not found

Это ошибка, сгенерированная R. Похоже, что R не может обрабатывать целые числа в соответствии с моими командами. Я не могу понять, что с этим не так. Я сделал несколько изменений, но даже тогда ошибки кажутся такими же. Когда я запускаю код до тех пор, пока не будут получены входные данные от пользователя, он работает нормально, но входные данные не распознают num1 и num2, в нем говорится: «Предупреждающее сообщение: NAs, введенные путем принуждения», я не понимаю, так как я новичок. Пожалуйста, помогите мне. Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...