Home > Back-end >  paste0 not printing the message inside else statement
paste0 not printing the message inside else statement

Time:07-23

I don't get any error but I was expecting that when I type an integer that is not 1,2,3,4 the code should enter in else statement and print what is in paste0 function. What is wrong?

escolha <- as.integer(readline(prompt="Enter your choice: "))

if(escolha == 1){
  print("Cool you choose addition!")
} else if (escolha == 2) {
  print("Cool, you choose subtraction!")
} else if (escolha == 3) {
  print("Cool, you choose multiplication!")
} else if (escolha == 4){
  print("Cool, you choose division!")
} else{
  paste0("It's not possible to use ", escolha," as input.")
  escolha<- as.integer(readline(prompt="Choose a valid number (1 a 4): "))
}

num1 <- as.double(readline(prompt="What is the first number? "))

num2 <- as.double(readline(prompt="What is the second number? "))

resultado <- switch (escolha, (num1 num2), (num1-num2), (num1*num2), (num1/num2))

cat("The result is: ", resultado)

CodePudding user response:

paste0() (and paste()) assemble a string and return it. You still need to print the result to the screen with print() or cat(), like this:

cat(paste0("It's not possible to use ", escolha," as input.\n"))

(added the \n at the end, so the readline() prompt that follows will be on a separate line)

  •  Tags:  
  • r
  • Related