我必须在R中创建一个函数,程序在该函数中选择一个介于1到100之间的数字,并要求用户进行猜测。如果它太低,则它返回“太低”;如果它太高,则返回“太高”;如果在7猜测用户仍然错时,我停止该功能。
我完成了该功能,但是7次后却找不到停止它的方法!!我想放置一个for循环,但不知道有人在哪里可以帮助我?
guess <- function(g) {
ran <- sample(1:100, 1)
if (g < ran) {
print("Too low")
m <- readline("Type number again:")
num <- as.numeric(m)
} else if (g > ran) {
print("Too high")
m <- readline("Type number again:")
num <- as.numeric(m)
} else if (g == ran) {
print("Correct")
}
}
答案 0 :(得分:0)
这是一个刺路:
guess <- function(g) {
counter <- 1
ran <- sample(1:100, 1)
while(counter < 8) {
if (g < ran) {
print(paste0("Too low (No. of attempts: ", counter, ")"))
m <- readline("Type number again:")
g <- as.numeric(m)
counter <- counter + 1
} else if (g > ran) {
print(paste0("Too high (No. of attempts: ", counter, ")"))
m <- readline("Type number again:")
g <- as.numeric(m)
counter <- counter + 1
} else if (g == ran) {
print("Correct")
opt <- options(show.error.messages=FALSE)
on.exit(options(opt))
stop()
}
}
print(paste0("You've run out of attempts! Correct answer was: ", ran))
}
此方法通过设置计数器并使用while
循环允许七次尝试来完成您想要的事情。如果超过此数字,则退出循环并显示相应的错误消息。为了方便起见,在每次尝试后和失败的情况下,我还添加了一些文本信息。