如何创建一个存储值并在ruby中填充它的数组?

时间:2016-07-28 05:21:27

标签: arrays ruby

我是Ruby中的菜鸟,我的代码需要一些帮助。

我只是在寻找如何创建一个数组来存储值然后显示它。现在我的代码显示了累积的兴趣,取决于你在一开始就有多少年和节省。现在我希望它能够显示我是否要将5年时间显示一个阵列每年多少,在这5年内,它增加了兴趣;例3年[3367.34,3401.01,3435.02](这些值为1%利息)

我的代码:

puts "How much would you like to save?"
savings = gets.chomp.to_f 

puts "For how long would you like to save it for?"
time = gets.chomp.to_i

(savings > 0 || true) && (time > 0 || true)

i = 0.01 

counter = 1 

until counter > time do
account = Hash.new

savings = (savings + savings * i)

account["Your account"] = savings.to_f.round(2)

counter += 1

end
account.each { |savings| puts "Interest calculated over #{time} years #{savings}" }

我刚刚将这部分添加到我的代码中,它确实生成了一个数组但不确定如何进行调整,以便它可以将感兴趣的值添加到数组中的节省(超过用户想要的年数)。例如:如果我放3年,答案应该看起来像这样==> savings = array [3367.34,3401.01,3435.02]每个金额代表当年累计的利息(1styr)= 3367.34(2ndyr)3401.01(3rdyr)3435.02

> puts "how much will you save?"
>     n=gets.to_i
>     array= Array(0..n)
>     puts array.inspect

1 个答案:

答案 0 :(得分:0)

以下是如何将储蓄信息转换为数组,但老实说,您的代码还存在其他问题,这无法解决所有问题。

array = []
until counter > time do

   savings = (savings + savings * i)

   array << savings.to_f.round(2) # this pushes the new value onto your array

   counter += 1
end