如何使用随机数填充数组?

时间:2014-07-24 21:14:14

标签: ruby

我正在尝试使用小于9的正整数填充四个元素的数组。

这是我的代码:

generated_number=Array.new(4)#create empty array of size 4
generated_number.each do |random| #for each position in the array create a random number
  random=rand(10)
end
puts generated_number

我不明白我错过了什么。

4 个答案:

答案 0 :(得分:40)

您可以将范围传递给rand()

Array.new(4) { rand(1...9) }

答案 1 :(得分:4)

我认为你过度复杂化了。

 generated_numbers = 4.times.map{Random.rand(8) } #=> [4, 2, 6, 8]

编辑:对于咯咯笑声,我把这个功能放在一起:

def rand_array(x, max)
  x.times.map{ Random.rand(max) }
end

puts rand_array(5, 20) #=> [4, 13, 9, 19, 13]

答案 2 :(得分:0)

这就是我为具有10个元素的数组解决它的方法:

n=10
my_array = Array.new(n)
i = 0
loop do 
 random_number = rand(n+1)
 my_array.push(random_number)

 i += 1
 break if i >= n
end

for number in my_array
  puts number

答案 3 :(得分:0)

这是我为学校决赛所做的事情,数字并不完全相同,但你可以更改数字等等:

numbers_array = []
10.times do
    numbers_array.push(rand(1..100))
end
puts numbers_array