Fizz Buzz 无法处理多个向量

问题描述

我的任务是创建一个函数 fb(n,m),它以整数向量 n 和 m 作为输入,为每个元素 i 遍历从 n[i] 到 m[i] 的所有整数,返回一个向量对于 n 和 m 之间的每个数字,它包含由 fizzbuzz(n) 定义的字符串“Fizz/Buzz/FizzBu​​zz”或数字本身。内置了两条错误消息 - 一条如果向量 (n,m) 的长度不同,一条如果 n[i]

我的代码广泛适用,直到我尝试处理 fb(10,c(11,15)) 或 fb(c(9,12),13)) 之类的东西,它只返回一个值以及以下错误

警告信息:

1:在 n:m 中:数值表达式有 2 个元素:仅第一个使用

2:在 n:m 中:数值表达式有 2 个元素:仅第一个使用

如何更改我的代码以使其可以处理提到的向量?

fizz <- function(n) {
    vec <- n
    ifelse(vec %% 3 == 0,"Fizz","")
  }

buzz <- function(n) {
    vec <- n
    ifelse(vec %% 5 == 0,"Buzz","")
  }

fizzbuzz <- function(n) {
    vec <- n
     ifelse(n %% 15 == 0,"Fizzbuzz",ifelse(n %% 5 == 0,buzz(n),ifelse(n %% 3 == 0,fizz(n),"")))
     }

fbr <- function(n,m) {
      vec <- n:nrow(m)
      if(length(n) != length(m)){
        stop("vectors are not the same length")
      } else if (n:m <= m) {
      stop("n is less than m")
      }
      ifelse(vec %% 15 == 0,fizzbuzz(vec),ifelse(vec %% 5 == 0,buzz(vec),ifelse(vec %% 3 == 0,fizz(vec),vec)))
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)