我试图在基于用户输入的范围之间生成一个随机数,问题在于程序似乎在外部存储了一个数字当我运行它时指定的范围。在下面的示例中,我输入8
,'puts ex_val'返回247.5
。 8
不应该给我任何高于170.001
的东西,我在哪里错了?试图在基于输入的范围之间生成随机数,返回范围以外的数
class Example
print "Input number between 1-12: "
example_range = gets.chomp
if example_range = 11 || 12
ex_val = rand(212.502..255)
elsif example_range = 9 || 10
ex_val = rand(170.002..212.501)
elsif example_range = 7 || 8
ex_val = rand(127.5..170.001)
elsif example_range = 5 || 6
ex_val = rand(84.999..127.499)
elsif example_range = 3 || 4
ex_val = rand(42.499..84.998)
elsif example_range = 1 || 2
ex_val = rand(0..42.498)
end
puts ex_val.round(1)
end
我尝试使用,而不是“何时” if语句,像这样:
case example_range
when 11, 12
ex_val = rand(212.502..255)
...
end
,但似乎总是只返回原始输入。
所以,输出是什么?顺便说一句,你真的需要上课吗? - )) – marmeladze
我可能不会,这只是我在解决这个问题时尝试过的很多事情之一。这是3个相似的部分之一,我只是简单地发布它。 – Lacomus