我试图将赔率打为40%而60%。我发现math.random()函数没有做十进制数,有人知道解决这个问题吗?
请参阅我的代码和我对math.random的评论。
while (nFlip <= 99) do
randomFlip = math.random (0,2.5) -- Trying to get 40% by doing 0-2.5
nFlip = nFlip + b
print( randomFlip )
if randomFlip == 2.5 then
countHeads = countHeads + b
end
答案 0 :(得分:4)
只使用不平等而不是平等。
if math.random(0,4) < 2 then
-- this will run 40% of the time
end
答案 1 :(得分:1)
如果您使用以下代码,我认为代码更清晰:
if math.random() < 0.4 then
-- this will run 40% of the time
end
因为它返回0到1之间的浮点值,因此比较与百分比有明确的关系。
答案 2 :(得分:0)
假设您希望math.random()为您提供0到2.5之间的值,请尝试:
math.random() * 10 % 2.5
。
另外,假设每次运行程序时都需要不同的结果;不要忘记使用:
math.randomseed(os.time())