random模块是洛书编程语言的一个第三方模块,需要使用lpt进行下载。
random中使用了线性同余算法产生随机数,生成速度快。
下载
下载命令:
losu -r lpt install random
下载好之后就可以使用了。
导入模块
#中文版
引("random")
#英文版
import("random")
更改随机种子
random允许使用者更改随机种子。这个随机种子储存在动态库中,被整个程序使用。
在目前的版本中,random可能不会在模块运行时修改随机种子。如果发现生成的随机数都一样,请手动添加代码更改随机种子。
该问题拟在洛书2.0.0版本得到优化。
#中文版
随机.改种子(33) #随机种子会被更改为33
随机.改种子(随机.获取随机种子()) #可以用随机.获取随机种子方便地获得一个种子
#英文版
random.srand(33) #随机种子会被更改为33
random.srand(random.randseed()) #可以用random.randseed方便地获得一个种子
产生一定区间内的数
random提供了两个函数,分别用于整数和浮点数
示例
#中文版
令 甲 = 随机.随机整数(3, 33) #会产生一个位于[3, 33)区间的整数
令 乙 = 随机.随机实数(3, 33) #会产生一个位于[3, 33)区间的实数
#英文版
var a = random.randint(3, 33) #会产生一个位于[3, 33)区间的整数
var b = random.randfloat(3, 33) #会产生一个位于[3, 33)区间的实数
可以复制粘贴到洛书交互式界面中,然后打印查看结果。
产生随机字符串
random可以以很快的速度产生随机的字符串,在本人的计算机上测试,生成1亿长度的字符串约1.5s。
#中文版本
令 甲 = 随机.随机字符串(1024) #生成长度为1024字节的字符串
#英文版
var a = random.randstr(1024) #生成长度为1024字节的字符串
以一定几率返回真值
在编程中,有时需要以一定几率返回真值,如写一个小游戏,希望某件事以3.5%的概率发生。针对这种场景,random提供了一个函数。
下面是例程
#中文版
引("random")
随机.改种子(随机.获取随机种子())
令 结果 = 随机.百分之(0.035) #3.5%的几率
如果 结果:
打印("结果为真")
否则
打印("结果为假")
;
# 英文版
import('random')
random.srand(random.randseed())
var result = random.percent(0.035) #概率为3.5%
if result:
print("结果为真")
else
print("结果为假")
;
这里设置的几率比较低,运行后大概率结果为假。可以将概率更改到0.7之类的较高数字。