欢迎来到天天文库
浏览记录
ID:55414432
大小:13.88 KB
页数:3页
时间:2020-05-12
《学习脚本制作:-Rnd随机函数.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、学习脚本制作:Rnd随机函数来源:按键学院【按键精灵】 有同学问:Int((upperbound-lowerbound +1)*Rnd+lowerbound) 这个产生随机整数的公式里,为什么要加1呢?为什么呢?我们一起来解剖下这个公式~【公式】 Int((upperbound-lowerbound+1)*Rnd+lowerbound) 【中文翻译】 取整((上界-下界+1)*Rnd+下界) 【功能】 取 下界到上届 范围内的随机整数,随机到的整数范围包含下界和上界 例如:Int(
2、(100-1+1)*Rnd+1),取1-100之间的包含1和100的随机整数 如果不按照公式写,我们直接写int(Rnd(100)) 那么,随机到的整数,范围是0-99,永远随机不到100这个值。按照顺序解剖这个公式,首先是int函数。Int函数【功能】 小数部分舍去,返回数字的整数部分。【例子】 Int(99.8) '返回值为99。 Int(99.4) '返回值为99。 upperbound和lowerbound通
3、过上面的中文翻译,我们已经知道了,它们是随机函数的界限值,upperbound是大的数,lowerbound是小的数。那我们接下去讲讲今天的主角Rnd。Rnd函数【功能】 Rnd函数返回一个小于1但大于或等于0的值。【分析】 也就是说它返回的是0-0.(N个9)之间的数,接近1但不等1.知道了Rnd函数的随机值范围,咱们就可以做进一步分析了~公式运算分析 假设我们要获取 1-100之间的随机数。1是下界(lowerbound),100是上界(upperbound),代入公式: Int((upperbound-lowerbou
4、nd+1)*Rnd+lowerbound) 第一步:运算(upperbound-lowerbound+1) ,代入100和1,得到100第二步:100*Rnd,我们知道rnd函数得到的最大值是0.99999无限接近1,我们假设它是最大值0.99999,来计算下得到的随机数最大的会是多少。那么现在100*rnd就等于99.99999第三步:加上 lowerbound,99.99999+1=100.99999第四步:int(100.),把小数部分都舍去,那就是100。按照上面的方式,我们把rnd的值设置为最小值0,得到的结果是: 1(
5、下界值)现在我们不加1运算看看, Int((upperbound-lowerbound)*Rnd+lowerbound) int((100-1)*rnd+1),rnd依然假设为最大值0.99999 那么,运算结果为:99,无法随机得到100这个值。如果 Int((upperbound-lowerbound)*Rnd) 把+lowerbound去掉下界的效果也会失效,int(100*rnd),随机值的范围就在:0-99之间。再然后,就不得不提下,rnd函数的年度最佳小伙伴Randomize函数Randomize函数【功能】 初
6、始化随机数生成器。 如果不想出现,每一次随机到的数都和第一次随机到的数一样的情况。 就需要在使用rnd函数之前,使用Randomize函数。初始化随机数的生成器,才会产生新的随机数。
此文档下载收益归作者所有