這是在德爾福(準確地說是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'。 –