ユーザー入力に基づいて範囲内の乱数を生成しようとしていますが、私がそれを実行するときに指定された範囲の。下の例では、私は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
が、常にちょうど元の入力を返すように見えたことを。
出力は何ですか? btw、これには本当にクラスが必要ですか? - )) – marmeladze
私はおそらくそうではありません。これはトラブルシューティングの際に試した多くの事の一つです。これは3つの同様の部分の1つですが、わかりやすくするために投稿しています。 – Lacomus