Eu quero gerar, digamos 10 números aleatórios entre 100 e 200 (ambos incluídos). Como eu faço com rand?
command-line
ignacio caviedes
fonte
fonte
rand
? ARANDOM
variável?/dev/random
?/dev/urandom
?rand
ou aquilorand
?Respostas:
Se você quer dizer a
rand
partir dorand
pacote (em oposição ao um de OpenSSL), ele não suporta um limite inferior, apenas a um limite superior. O que você pode fazer é o truque de mudar o limite inferior para zero e adicionar o limite inferior:-N
é o número de números aleatórios que você precisa-M
seria o limite superior dasrand
saídas de números , então ( max - min = 100)-e -d '\n'
define o delimitador para uma nova linha. Isso é para conveniência do processamentoawk
.O
awk
código pega cada linha e adiciona 100 a ela.fonte
Usando
python
:Resultado :
Aqui eu usei o
random
módulo depython
para gerar 10 (range(10)
) números inteiros aleatórios entre 100 e 200 (incluído) (random.randint(100, 200)
).fonte
Aqui está uma maneira Perl:
Você também pode usar
/dev/urandom
(adaptado daqui ):fonte
Você também pode usar
awk
:fonte
Com
shuf
do GNU coreutils:fonte
Você pode usar
$RANDOM
.fonte
Versão Bash
Nada espetacular - emulação simples de loop for com
i
contador ewhile
. O intervalo é definido usando aif . . . else . . .fi
estrutura. Nota lateral: meu prompt é o diretório de trabalho primeiro, depois a área de entrada, portanto, não fique confuso com o que vêbashRadom.sh
:Versão C
Este é o código que eu tenho usado durante a aula C na minha universidade. A edição pequena que adicionei para atender a essa pergunta é o uso de argumentos de linha de comando (em vez de codificar valores na fonte)
randfunc.c
:fonte
random
biblioteca: stackoverflow.com/a/19728404/2072269 , stackoverflow.com/a/19666713/2072269