Articles

Python aleatório randrange() e randint() para gerar número inteiro aleatório dentro de um intervalo

neste artigo, vamos ver como utilizar o Python random.randrange() e random.randint() funções para gerar um número aleatório. Using randrange()and randint() functions of a random module we can generate a random integer within a range. Por exemplo, você quer gerar um número inteiro aleatório entre 0 a 9, então você pode usar essas funções.

objectivos desta lição. Nesta lição, aprenderás a:

  • Gera um número inteiro aleatório dentro de um intervalo usando randrange() e randint()
  • Gerar o número inteiro aleatório número com o comprimento específico apenas
  • Gerar aleatoriamente um número inteiro múltiplo de n
  • Criar uma lista de números inteiros aleatórios
  • Gerar um seguro inteiro aleatório
  • Criar aleatória multidimensional matriz de números inteiros aleatórios

além disso, a leitura

  • Resolver o Python Dados Aleatórios Geração de Exercício e Aleatória de Geração de Dados Questionário
  • Também, ler o trabalho com dados aleatórios em Python (Guia Completo)

como usar o Aleatório.randint ()

sintaxe:

random.randint(start, stop)

Esta função devolve um inteiro aleatório dentro de um intervalo. Esta função requer dois parâmetros. Ambos são obrigatórios. Por exemplo, random.randint(0, 100) irá retornar qualquer número aleatório entre 0 a 100.

o randint(start, stop) inclui tanto os números de Início como de paragem enquanto gera um número inteiro aleatório. Irá gerar um número aleatório a partir da Gama inclusiva.

Aleatório.randint() exemplos de geração de números inteiros aleatórios

Saída:

Random integer from 0 to 9Random integer: 5Random integer from 10 to 100Random integer: 89

Nota: Você não pode usar float número de randint(). Irá aumentar um ValueError: non-integer arg 1 se utilizar valores diferentes de um inteiro.
Consulte este guia para gerar um número flutuante aleatório dentro de um intervalo.

como utilizar aleatoriamente.randrange ()

vamos ver primeiro a sintaxe

random.randrange(start, stop)

Esta função devolve um inteiro seleccionado aleatoriamente de . Esta função requer três parâmetros. De três parâmetros, dois são opcionais. isto é, start e step são os parâmetros opcionais.

  • ostart argumento é o número inicial em um intervalo aleatório. isto é, limite inferior. O valor por omissão de start é 0 se não for especificado.
  • o argumento destop é o último número num intervalo aleatório. o argumento stop é o limite superior.
  • o step é uma diferença entre cada número na sequência. O passo é Parâmetros opcionais. O valor por omissão do step é 1 Se não for especificado.

Aleatório.randrange () exemplos de gerar inteiros aleatórios dentro de um intervalo

Aqui no exemplo seguinte, estamos tentando imprimir um int Aleatório em um determinado intervalo. Este exemplo demonstra todas as variantes da função random.randrange().

saída:

Generate random number within a given range in Python Random integer: 7Random integer: 22Random integer: 180

Nota: Não pode usar o valor flutuante randrange(). Ele irá aumentar um ValueError: non-integer arg 1 for randrange() se você usou valores diferentes de um inteiro.

Gerar o número inteiro aleatório de um comprimento específico

o Que se pretende gerar um número aleatório de comprimento n? Por exemplo, você quer gerar um número aleatório de comprimento 4. Vejamos o exemplo para gerar o número aleatório de comprimento 4 usando random.randrange().

saída:

First random number of length 4 is 1931Second random number of length 4 is 5715

Nota: Como pode ver, definimos um início para 1000 e para 10000 porque queremos gerar o número aleatório de comprimento 4 (de 1000 a 9999).

Gerar aleatoriamente um número inteiro múltiplo de n

neste exemplo, vamos gerar um número aleatório entre x e y, que é um múltiplo de 3, como 3, 6, 39, 66.

import randomnum = random.randrange(3, 300, 3)print("Random number multiple of 3 is ", num)

Saída:

Random number multiple of 3 is 264

Gerar aleatoriamente um número inteiro negativo

Vamos ver como gerar aleatoriamente um número inteiro negativo entre -60 a-6.

import randomsingedInt = random.randrange(-60, -6)print("Random negative integer between -60 to -6")print(singedInt)

Saída:

Random negative integer between -60 to -6-49

random Gera número inteiro negativo ou positivo

import randomnum = random.randint(-10, 10)print(num)

gerar Aleatoriamente 1 ou -1

import randomnum = random.choice()print(num)

Nota: usámos ao acaso.escolha () escolher um único número da lista de números. Aqui a nossa lista

Gerar uma lista de números aleatórios

nesta seção, veremos como gerar vários números aleatórios. Às vezes precisamos de uma lista de amostras para realizar testes ou qualquer operação. Neste caso, ao invés de criá-lo manualmente, podemos criar uma lista com inteiros aleatórios usando randint() ou randrange(). Neste exemplo, veremos como criar uma lista de 10 inteiros aleatórios.saída

:

Printing list of 10 random numbers

neste exemplo, há uma chance de obter um número duplicado em uma lista

Criar uma lista de números aleatórios, sem duplicatas

No exemplo acima, há uma chance de obter um duplicado de números aleatórios em uma lista. Se você quiser ter certeza de que cada número da lista é único, há uma maneira simples de gerar uma lista de números aleatórios únicos. Usando aleatoriamente.amostra () podemos criar uma lista de números aleatórios únicos.

  • o random.sample() devolve uma lista amostrada de números aleatórios seleccionados dentro de uma gama de valores.
  • Nunca repete o elemento, para que possamos obter uma lista de números aleatórios sem duplicados

vamos ver como gerar 10 inteiros aleatórios de intervalo 0 a 1000.

Saída:


Se você deseja que cada número múltiplo de n e, em seguida, use o step parâmetro range() função. Por exemplo, você deseja uma lista de 10 números aleatórios, mas cada inteiro em uma lista deve ser múltiplo de 5, em seguida, use random.sample(range(0, 1000, 5), 10)

Leia Mais: de forma aleatória.exemplo()

Ordenar números aleatórios lista

Se você deseja ordenar uma lista de números inteiros aleatórios em ordem crescente de utilizar o sort() função

Resultado:

Before sorting random integers listAfter sorting random integers list

Gerar um seguro inteiro aleatório

Acima de todos os exemplos não são criptograficamente segura. O gerador aleatório criptograficamente seguro gera números aleatórios usando métodos de sincronização para garantir que nenhum dois processos podem obter o mesmo número ao mesmo tempo. Se você está produzindo números aleatórios para uma aplicação sensível à segurança, então você deve usar esta abordagem.

Se estiver a usar a versão em Python inferior a 3.6, e quiser gerar um número inteiro aleatório criptograficamente seguro, então use as funções random.SystemRandom().randint() ou random.SystemRandom().randrange(). Consulte Como proteger dados aleatórios em Python.exemplo:

saída:

Secure random integer is 30Secure random integer is 162

Se estiver a usar a versão em Python superior a 3.6, poderá usar o módulo de segredos para gerar um inteiro aleatório seguro.

import secretsprint("Random integer generated using secrets module is ")# from 0 to 10secureNum1 = secrets.randbelow(10)print(secureNum1)

Saída:

Random integer generated using secrets module is 8
  • aleatória Seguro de dados em python.
  • Python secrets module

Create a random multidimensional array of random integers

Python’s NumPy module has a numpy.random package to generate random data. Para criar uma matriz multidimensional aleatória de inteiros dentro de uma dada gama, podemos usar os seguintes métodos NumPy:

Agora, deixe ver o exemplo.

Gerar um 4 x 4 array de ints entre 10 e 50, exclusivo:

Saída:

4 x 4 array of ints between 10 and 20 inclusive ]

Gerar uma matriz 5 x 3 de ints entre 60 e 100, inclusive:

Saída:

3 x 5 array of ints between 10 and 20 exclusive ]

Pontos a recordar sobre randint() e randrange()

  • Use randint() quando você quiser gerar um número aleatório a partir de um intervalo inclusivo.
  • Use randrange() quando quiser gerar um número aleatório dentro de um intervalo, indicando o valor do passo. Produz um número aleatório a partir de uma gama exclusiva.

deve estar ciente de algumas restrições de valor de uma função randrange().

  • Therandint() randrandrange() only works with integers. Não pode usar números flutuantes.
  • Se usar números flutuantes irá aumentar ValueError: non-integer arg 1 for randrange(). Consulte este artigo para gerar um número flutuante aleatório entre um intervalo.o passo não deve ser 0. Se estiver definido como 0, você terá um ValueError: zero step for randrange()

o início não deve ser maior do que parar se estiver a usar todos os números positivos. Se por engano você definidos de início maior que parar você vai ter uma ValueError: empty range for randrange()

import randomprint(random.randrange(100, 10, 2))

Saída:

ValueError: empty range for randrange()

Mas, você também pode definir o valor inicial maior do que parar se você estiver usando o negativo valor do passo.

import randomprint(random.randrange(100, 10, -2))

Saída:

60

Então, o Que Você Acha?quero ouvir – te. O que você acha deste artigo sobre randint() e randrange()? Ou talvez tenha perdido uma das utilizações dessas duas funções. De qualquer forma, deixe-me saber deixando um comentário abaixo.

também, tente resolver o seguinte exercício e quiz para ter uma melhor compreensão de trabalhar com dados aleatórios em Python.

  • Python aleatória de geração de dados de Exercício para praticar e dominar as técnicas de geração de dados aleatórios em Python.
  • teste de geração de dados aleatórios em Python para testar os seus conceitos de geração de dados aleatórios.