找回密码
 加入
搜索
查看: 5029|回复: 10

[AU3基础] Random($XX,$xx,1)为什么随机数总重复呢?

  [复制链接]
发表于 2011-3-23 00:39:37 | 显示全部楼层 |阅读模式
用random做随机取数,采用的是IniRead读取最小数和最大数的参数,但总是重复几个数,不能最大随机,如果直接添入random的最小数和最大数就可以,不知什么原因,哪位大位回复下,谢谢啦!
发表于 2011-3-23 00:42:26 | 显示全部楼层
random本来出来的就是伪随机
发表于 2011-3-23 09:32:06 | 显示全部楼层
回复 2# netegg
能不能讲解一下伪随机的局限性
发表于 2011-3-23 12:03:26 | 显示全部楼层
取不重复的随机数,我一般用字典过滤,效果很好。
发表于 2011-3-23 13:45:58 | 显示全部楼层
 楼主| 发表于 2011-3-24 12:01:31 | 显示全部楼层
回复 4# kevinch


    能简单说下字典过滤吗?之前没听说过,谢谢!
发表于 2011-3-24 13:20:03 | 显示全部楼层
#include <array.au3>

$o_Dic=objcreate("scripting.dictionary")  ;创建字典项目
Do
        $i_N=int(random(10,50))
        $o_Dic(string($i_N))=""   ;把得到的值作为字典的key添加到字典中,如果重复的不会改变
until $o_Dic.count=20  ;当字典的keys达到20个时跳出循环
_ArrayDisplay($o_Dic.keys)  ;显示一下结果(与后面注释的等价,因为返回的是个集合)
;$a_Arr=$o_Dic.keys
;_ArrayDisplay($a_Arr)
给段代码,稍稍注释了一下,看楼主能看明白不。
 楼主| 发表于 2011-3-24 18:12:42 | 显示全部楼层
你真是大好人,谢谢,我研究研究!~~
发表于 2011-3-24 20:13:05 | 显示全部楼层
回复 7# kevinch
这有必要用字典吗,做个动态数组的事
发表于 2011-3-24 20:54:59 | 显示全部楼层
回复  kevinch
这有必要用字典吗,做个动态数组的事
netegg 发表于 2011-3-24 20:13

数组不循环能判断出来重复吗?少的话无所谓,多了的话用循环就太慢了吧。而字典是不需要循环的,多少都无所谓,不是很好吗?
发表于 2011-3-25 13:32:51 | 显示全部楼层
要多次用Random函数生成不同的随机数,首先要调用SRandom函数生成种子。具体的你可以谷歌一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-20 23:18 , Processed in 0.079633 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表