[基础知识]随机数、随机字符串

来源:互联网 发布:阿里云购买后怎样设置 编辑:程序博客网 时间:2024/05/17 01:19

io.open();//打开控制台

最小数 = 1;
最大数 = 1000
随机数 = math.random(最小数,最大数) //生成随机数
io.print( 随机数 )

随机选择字符串 = string.random("字符串一","字符串二","字符串三")
io.print( 随机选择字符串 )


长度 = 3
随机中文字符串 = string.random( 长度, "这是中文字符集" )
io.print( 随机中文字符串 )

随机英文数字字符串 = string.random(长度)
io.print( 随机英文数字字符串 )


二、随机数种子

 

你运行上面的示例代码,会发现每次的随机数结果都一样。

math库提供了一个可以改变随机数队列的函数。math.randomize()
math.randomize的参数可以是一个任意的数值,如果不指定参数默认调用time.tick获得系统启动的毫秒数作为参数。以保证随机数种子不会重复。这样每次就会返回不同的数字了

但是通常math.randomize()在一个AAuto程序中仅需调用一次就够了,一般不需要反复的调用。

你可以将 math.randomize() 放到preload库里面,因为preload在你的程序执行以前默认加载。


io.open();//打开控制台

math.randomize()

随机数 = math.random(1,100) //生成随机数
io.print( 随机数 )

随机选择字符串 = string.random("字符串一","字符串二","字符串三")
io.print( 随机选择字符串 )


长度 = 3
随机中文字符串 = string.random( 长度, "这是中文字符集" )
io.print( 随机中文字符串 )

随机英文数字字符串 = string.random(长度)
io.print( 随机英文数字字符串 )


上面是加上math.randomize() 以后的代码。下图是运行后的效果。

 

随机

 

原文地址:http://www.ecranesoft.com/bbs/showtopic-8350.aspx

 

 

练习:

io.open()

math.randomize()
z=string.random("may","tracy","fore")
h=math.random(1,1000)
s=z++h
io.print(s)