Я хочу сгенерировать, скажем, 10 случайных чисел от 100 до 200 (оба включены). Как мне сделать это с RAND?
command-line
игнасио кавидес
источник
источник
rand
?RANDOM
Переменной?/dev/random
?/dev/urandom
?rand
или этоrand
?Ответы:
Если вы имеете в виду
rand
из вrand
упаковке (в отличие от одного из OpenSSL), он не поддерживает нижнюю границу, только верхняя граница. То, что вы можете сделать, это трюк «сдвиг нижняя граница до нуля, затем добавление нижней границы»:-N
количество случайных чисел вам нужно-M
будет верхняя границаrand
выходных чисел , так ( max - min = 100)-e -d '\n'
устанавливает разделитель на новую строку. Это для удобства обработкиawk
.Затем
awk
код берет каждую строку и добавляет к ней 100.источник
Использование
python
:Вывод :
Здесь я использовал
random
модульpython
для генерации 10 (range(10)
) случайных целых чисел от 100 до 200 (включено) (random.randint(100, 200)
).источник
Вот способ Perl:
Вы также можете использовать
/dev/urandom
(адаптировано здесь ):источник
Вы также можете использовать
awk
:источник
С помощью
shuf
GNU coreutils:источник
Вы можете использовать
$RANDOM
.источник
Bash версия
Ничего впечатляющего - простая эмуляция петли со
i
счетчикомwhile
. Диапазон устанавливается с помощьюif . . . else . . .fi
структуры. Примечание: моя подсказка - это сначала рабочий каталог, а затем область ввода, так что не запутайтесь в том, что видитеbashRadom.sh
:Версия C
Это код, который я использовал, когда брал урок С в моем университете. Небольшое редактирование, которое я добавил, чтобы соответствовать этому вопросу, - это использование аргументов командной строки (вместо жестких значений в источнике)
randfunc.c
:источник
random
библиотекой: stackoverflow.com/a/19728404/2072269 , stackoverflow.com/a/19666713/2072269