表操作-随机删除表中元素。

[复制链接]
查看1350 | 回复1 | 2021-8-24 19:18:59 | 显示全部楼层 |阅读模式
本帖最后由 Aitlo 于 2021-8-24 19:23 编辑

  1. function settTable(number)
  2.         randomNum = {}                                                                                        -- 全局变量 的表
  3.     if type(number) ~= 'number' then                                                -- 判断参数是否为小数类型
  4.                    print('参数不是数字!')
  5.             return randomNum
  6.     end
  7.         for i=1,number do                                                                                -- 创建一个表 添加 1至n个的元素。
  8.                 table.insert(randomNum,i)
  9.         end
  10.         print(randomNum)
  11.     return randomNum
  12. end

  13. function getNum(Tab)
  14.         -- 获取不重复的随机值
  15.     if #Tab ~=0 then
  16.                 return table.remove(Tab,math.random(1,#Tab))        -- 随机删除一个表元素。
  17.     else
  18.             print('表中无可删除的元素!')
  19.     end
  20. end
  21. -- 调用 创建一个空表 添加数字五个元素
  22. local tab = settTable(3)
  23. print(getNum(tab))                                                                                -- 调用删除一个元素。
  24. print(getNum(tab))
  25. print(getNum(tab))
  26. print(getNum(tab))
  27. print(getNum(tab))
  28. print(getNum(tab))                                                                                -- 第六次删除,已无元素可以删,提示无元素。
  29. print('表中剩余元素=',#tab)                                                                -- 显示表中剩余元素。
复制代码
运行结果图片:
1png.png

回复

使用道具 举报

152324093 | 2021-8-24 20:45:33 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则