2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Template:Random

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模板文档  [查看] [编辑] [历史] [刷新]

简介

该模板可以按参数生成指定范围的随机数。

注意:由于页面的缓存机制,生成的随机数在一定时间内是不会改变的。

用法

{{random}}                   <!-- 形式1:输出随机数0或1 -->

{{random|raw}}               <!-- 形式2:输出0到1之间的随机浮点数 -->

{{random|最大值}}            <!-- 形式3:输出0到指定的最大值之间的整数,输入的值必须为整数 -->

{{random|最小值|最大值}}     <!-- 形式4:输出指定的最小值到最大值之间的整数,若最小值大于最大值,则它们将发生互换。最小值和最大值都必须为整数 -->

额外参数

  • count:指定输出多少随机数,根据指定随机数的形式不同,其行为也不同,各个随机数由半角逗号,隔开,可以使用{{split}}模板进行分割使用。
    • 形式1:生成每个随机数之前都将重新设置随机数种子,这可以增加随机性,但并没有什么明显的表现。
    • 形式2:没有其他额外的行为。
    • 形式3和4:当count不大于随机数范围的枚举总数时,将生成不重复的随机数。若大于了枚举总数,则大于的部分失去不重复的特性;若设置了下述随机参数,则全部失去不重复的特性。
  • allowrepeat:指定此参数时,形式3和4生成的前一部分随机数不再保证不重复。

示例

示例1

{{random}}{{random}}{{random}}{{random}}{{random}}
结果

10000

示例2

{{random|raw}}<br />{{random|raw}}<br /><br />{{random|10}}<br />{{random|10}}<br /><br />{{random|20|50}}<br />{{random|20|50}}
结果

0.51424642862484
0.37558566470425

8
6

33
44

示例3

利用{{split}}模板分割获取的随机数字符串。

单纯输出:{{random|1|10|count=10}}

利用split模板进行分割:{{split|{{random|1|10|count=10}}|,|random}}

{{#var:random1}}

{{#var:random10}}

单纯输出:2,8,5,10,7,6,3,1,9,4

利用split模板进行分割:

10

9

示例4

可以看到,不设定allowrepeat参数时,超出了随机数范围的枚举总数(5)后,发生了重复。

{{random|1|5|count=10}}

{{random|1|5|count=10|allowrepeat=y}}

5,3,4,2,1,4,4,2,5,3

4,2,4,2,4,5,1,1,3,4