#delphi #random #numbers #range
#delphi #Случайный #числа #диапазон
Вопрос:
Это в Delphi (7, если быть точным). Как я могу генерировать случайные числа в определенном диапазоне? Аналогично random.randint(1,6)
в Python. Я пытаюсь имитировать бросание кубиков. Другой вариант — каким-то образом исключить 0.
В настоящее время у меня есть:
Randomize;
Roll := Random(7);
Label3.Caption := IntToStr(Roll);
Комментарии:
1. Тривиально «как-то» исключить ноль. Просто сделайте
Random(6) 1
.
Ответ №1:
Вы можете использовать
RandomRange(1, 7)
который вернет случайное целое число из набора {1, 2, 3, 4, 5, 6}.
( uses Math
)
[Кстати, тривиально «как-то» исключить ноль. Просто сделай Random(6) 1
.]
Комментарии:
1. Спасибо, но это должен быть RandomRange (1,7), чтобы включить 6.
2. @Aaron: Да, я изменил это несколько минут назад!
Ответ №2:
Кроме того, можно сгенерировать значение из диапазона с плавающей запятой [a, b), исключая b:
r := random;
x := (b-a)*r a;
Первая строка генерирует значение из интервала [0; 1); вторая строка выдает значение из [a, b) .
Если вы хотите получить N случайных значений в интервале [a; b] (например, 5 случайных значений из интервала [1; 2]: {1, 1.25, 1.5, 1.75, 2}) используйте следующее:
r := RandomRange(0, N-1);
x := a r*(b-a)/(N-1);
Комментарии:
1. Это должно быть
RandomRange(0, N)
Ответ №3:
для определенного значения, которое вы можете использовать
randomize;
ran:=random(6) 1;
это значение будет случайным образом изменяться от 1 до 6