1

我习惯于 Python,以下代码可以正常工作,没有任何例外。但是,当我尝试运行命令时,我在 R 中收到以下错误。

a <- readline(prompt="Give a num between 1-10: ")
b <- readline(prompt="Give another between 11-20: ")

if((1 <= a <= 10) & (11 <= b <= 20)) {
  a <- a
  b <- b
} else {
  a <- readline(prompt="Give a correct num between 1-10: ")
  b <- readline(prompt="Give a correct num between 11-20: ")
}

错误:

在此处输入图像描述

4

1 回答 1

2

1)虽然,1 <= a <= 10在逻辑上似乎是正确的,但它不是 R 中的有效语法。您需要1 >= a & a <= 10单独使用。

2)的输出readline是一个字符,你可能想换as.numeric行得到一个数字。

3) 无需再次分配ab如果 contion 是 ,它已经存在TRUE

所以总结一下,你可以这样做:

a <- as.numeric(readline(prompt="Give a num between 1-10: "))
b <- as.numeric(readline(prompt="Give another between 11-20: "))

if(a < 1 | a > 10) 
   a <- as.numeric(readline(prompt="Give a correct num between 1-10: "))
if(b < 11 | b > 20))
   b <- as.numeric(readline(prompt="Give a correct num between 11-20: "))
于 2020-05-23T02:07:27.113 回答