【发布时间】:2015-01-14 16:13:14
【问题描述】:
我对 r 比较陌生,我想编写一个函数 calCS 来执行以下任务: 计算圆的面积(AC = pi*r^2),圆的周长(CC = 2*pi*r),球的体积(VS = (4/3)pi em>r3 或球的面积 (AS = 4*pi*r^2) .第一个参数是 AC、CC、VS 或 AS 来确定需要执行哪个计算 .第一个参数的值可以包含小写、大写或混合大小写的字母 (使用 toupper 功能) .如果参数的值不是 AC、CC、VS 或 AS,则停止函数并写入 ❵不支持你的方法✬ .第二个参数是半径 (r)。确保对这个问题使用 if ... else 语句。 我曾尝试使用多个 if else 语句,但一次又一次地遇到与括号相关的相同错误。
calCS <- function(x,r){
if(x="AC"){
a <- pi*r^2
print(a)
}
} else {
if(x="CC"){
b <- 2*pi*r
print(b)
}else {
if(x = "VS"){
c <- (4/3)*3.14*(r^3)
print(c)
}else {
if(x = "AS"){
d = 4*pi*(r^2)
print(d)
}
}
}
}
出现错误:“}”中出现意外的“}”
【问题讨论】:
-
你应该看看使用
else if (x == ....)。此外,这似乎更适合switch。 -
另外,这读起来有点像家庭作业问题(尽管这里不一定是题外话)。
标签: r function loops if-statement