【问题标题】:Endless loop for Write a function first_n_evens(n) that returns an array of the first N many even numbers用于编写函数 first_n_evens(n) 的无限循环,该函数返回前 N 个多个偶数的数组
【发布时间】:2016-11-27 23:37:39
【问题描述】:

我不知道如何正确完成这个问题。

编写一个函数first_n_evens(n),返回一个包含前N个多偶数的数组,从0开始。

请帮助我理解我做错了什么。

非常感谢

def first_n_evens(n)
  array = []
  number = 0

  while array.count <= n
    if number % 2 == 0
      array.push(number)
      number += 1
    end
  end

return array

end

test = first_n_evens(5)
puts test

【问题讨论】:

  • 试试(0...(2*n)).step(2).to_a

标签: arrays ruby if-statement while-loop


【解决方案1】:

这一行:

number += 1

在您的 if 块内。如果number 是偶数,number 会递增。如果number 是奇数,则不满足if 条件,不会发生任何事情。

将该行移到if..end 块之外,应该没问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 2021-10-18
    • 2020-05-31
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多