qq里有人私聊我问我一个逻辑性的问题``
LUA 比如想在 1-20 一次取出6个数字 不相同 应该怎么写?
然后我就自己实现一下,踩了很多坑!
一开始想这用if挨个判断,但还是会出现重复的数字,还嵌套的很麻烦,
例如:
上面这个图的循环也可以出现6个数字,但是到里边那个if判断会出问题,具体想知道出现什么问题可以自己研究!下面给出一个正确又简单的实现随机数函数!可以当作参考
--必须写这个,或者有其他的写法,这个是设置时间的,没有这个每次随即出来的数都会一样
math.randomseed(tostring(os.time()):reverse():sub(1, 7)) --设置时间种子
local tb = {}
while #tb < 6 do
local istrue = false
local num = math.random( 1,20 )
if #tb ~= nil then
for i = 1 ,#tb do
if tb[i] == num then
istrue = true
end
end
end
if istrue == false then
table.insert( tb, num )
end
end
--打印
for i,v in ipairs(tb) do
print(i,v)
end
欢迎加入技术群:709273286 想要什么资源都可以找我要!