我試圖在基於用戶輸入的範圍之間生成一個隨機數,問題在於程序似乎在外部存儲了一個數字當我運行它時指定的範圍。在下面的示例中,我輸入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