Rut*_*vik 2 random lua random-seed
对于某些项目,我想要一个包含 0 或 1 的字符串。所以我尝试了这个
local data = ""
for i=1, 5 do
data = data .. math.random(2) - 1
end
print(data)
Run Code Online (Sandbox Code Playgroud)
该程序总是给出10111结果。所以在搜索之后我得到了这个类似的问题。链接
所以我改变了我的程序,就像该程序中提到的那样
local data = ""
for i=1, 5 do
math.randomseed(os.time())
data = data .. math.random(2) - 1
end
print(data)
Run Code Online (Sandbox Code Playgroud)
还有这个
local data = ""
for i=1, 5 do
math.randomseed(os.time())
math.random(2)
math.random(2)
math.random(2)
data = data .. math.random(2) - 1
end
print(data)
Run Code Online (Sandbox Code Playgroud)
所以当我尝试这个时,它总是给出11111or00000作为输出。为什么??以及如何纠正它以便我可以在字符串中获得随机 0 或 1 ?
在循环之前添加种子:
local data = ""
math.randomseed(os.time())
for i=1, 5 do
data = data .. math.random(2) - 1
end
print(data)
Run Code Online (Sandbox Code Playgroud)
如果您重新设定种子或重新运行程序,请确保已经过去超过 1 秒,asos.time()返回以秒为单位的时间,用整数表示。