这是在德尔福(准确地说是7)。如何在特定范围内生成随机数字?类似于Python中的random.randint(1,6)
。我试图模拟滚动的骰子。另一种选择是莫名其妙地排除0在一个范围内的随机数
目前我有:
Randomize;
Roll := Random(7);
Label3.Caption := IntToStr(Roll);
这是在德尔福(准确地说是7)。如何在特定范围内生成随机数字?类似于Python中的random.randint(1,6)
。我试图模拟滚动的骰子。另一种选择是莫名其妙地排除0在一个范围内的随机数
目前我有:
Randomize;
Roll := Random(7);
Label3.Caption := IntToStr(Roll);
您可以使用
RandomRange(1, 7)
将从集合{1,2,3返回一个随机整数, 4,5,6}。
(uses Math
)
[顺便说一句,它是微不足道的 '以某种方式' 排除零。只是做Random(6) + 1
]
谢谢,但它必须是RandomRange(1,7),以便包含6。 – Aaron
@Aaron:是的,几分钟前我改变了! –
而且,有可能产生从浮法范围[A,B),exluding b提取一个值:
第一行产生从[0的值; 1)间隔;第二个从[a,b)给出一个值。
如果您想要在区间[a; B](例如,从区间[1 5个随机值; 2]:{1,1.25,1.5,1.75,2})使用下面的:
r := RandomRange(0, N-1);
x := a + r*(b-a)/(N-1);
它应该是'RandomRange(0,N)' –
为特定的值则可以使用
randomize;
ran:=random(6)+1;
该值将随机在1到6之间
“不知何故”排除零是微不足道的。只要做'随机(6)+ 1'。 –