lua中不重复的随机数函数

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 想要什么资源都可以找我要!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值