O Píton aleatório módulo permite gerar números aleatórios. Os números gerados são uma sequência de números pseudo-aleatórios, que se baseiam na função utilizada. Existem diferentes tipos de funções usadas em um módulo aleatório para gerar números aleatórios, como random.random(), random.randint(), random.choice(), random.randrange(início, parada, largura) , e muitos mais.
Aqui, discutiremos o intervalo aleatório() função do aleatório módulo. O intervalo aleatório() A função é usada para gerar um número aleatório entre o intervalo especificado em seu parâmetro. Ele aceita três parâmetros: número inicial, número final e largura, que é usado para pular um número no intervalo.
Sintaxe de random.randrange()
random.randrange(start, stop[, width])
O random.randrange() A função retorna um número inteiro aleatório dentro do intervalo fornecido, ou seja, iniciar e parar. O random.randrange() função recebe três parâmetros como entrada começar, parar , e largura . Destes três parâmetros, os dois parâmetros começar e largura são opcionais.
- O começar parâmetro é um número inteiro inicial ou de limite inferior em um intervalo aleatório. Caso o parâmetro start não seja passado em parâmetro, ele assume o valor padrão 0 (zero).
- A parar parâmetro é o último número ou número inteiro limite superior em um intervalo aleatório.
- O largura parâmetro é um intervalo entre cada número na sequência aleatória. Este parâmetro é opcional, e caso o parâmetro largura não seja passado no parâmetro, ele assume o valor padrão 1 (um).
O randrange(início, parada, largura) A função não inclui o parâmetro final ao gerar o número inteiro aleatório. O parar parâmetro é exclusivo , e não é gerado em um número aleatório.
Veja esta função random.randrange(3, 30, 3) que irá gerar qualquer valor inteiro aleatório entre 3 a 30, como 3, 6, 9, 12,…27. Mas esta função nunca inclui 30 ao gerar um número aleatório.
Gerar um aleatório em uma aplicação sempre foi importante e tem diversas utilizações em tempo real no dia a dia. Por exemplo, gerar e enviar um número aleatório a um cliente como uma OTP (senha de uso único) para fazer uma transação segura. Outro exemplo de geração de um número aleatório é usado durante o jogo ludo para gerar um número aleatório de dados.
Exemplos 1: random.randrange() gera um número inteiro aleatório dentro do intervalo fornecido
Vejamos um exemplo onde estamos gerando um número inteiro aleatório dentro de um determinado intervalo. Este exemplo mostra todas as diferentes formas da função random.randrange().
import random print('Generating random number within a given range ') # Random number between 0 and 29 number1 = random.randrange(30) print('Random integer: ', number1) # Random number between 10 and 29 number2 = random.randrange(10, 30) print('Random integer: ', number2) # Random number between 25 and 200 divisible by 5 number3 = random.randrange(25, 201, 5) print('Random integer: ', number3)
Saída:
Exemplo 2: Gere um intervalo de números inteiros aleatórios (múltiplos) de n
Vamos gerar o número inteiro aleatório entre 5 e 100, que é um intervalo de 5, como 5, 10, 25,…, 90, 95.
import random #print 'Random number range (multiple) of 5' number = random.randrange(5, 100, 5) print('Random number range (multiple) of 5 is ', number)
Saída:
Exemplo 3: Gere o número inteiro aleatório de um comprimento específico
Você também pode gerar um número inteiro aleatório de comprimento específico. Se você deseja gerar um número aleatório de comprimento 3, insira o começar e parar parâmetro em intervalo aleatório() funciona como o menor número de 3 dígitos (100) e o menor número de 4 dígitos (1000) porque gera um número aleatório de 3 dígitos de 100 a 999, onde 4 dígitos (1000) são excluídos.
Exemplo: Gere um número aleatório de 3 dígitos usando random.randrange()
import random number1 = random.randrange(100, 1000) print('First random number of length 3 is: ', number1) number2 = random.randrange(100, 1000) print('Second random number of length 3 is: ', number2)
Saída:
First random number of length 3 is: 813 Second random number of length 3 is: 770
Exemplo 4: Gere um número inteiro negativo aleatório:
Vejamos um exemplo que gera um número inteiro negativo aleatório entre -50 e -10.
import random randomNagativeInteger = random.randrange(-50, -10) print('Random negative integer number between -50 to -10') print('Random negative integer number between -50 to -10 is: ',randomNagativeInteger)
Saída:
Random negative integer number between -50 to -10 Random negative integer number between -50 to -10 is: -43
Exemplo 5: Gerar um número inteiro aleatório positivo ou negativo
import random number1 = random.randrange(-5, 5) print(number1) number2 = random.randrange(-5, 5) print(number2)
Saída:
-5 0
Observe que o parâmetro começar e parar , que é passado em random.randrange() A função deve estar em ordem crescente, como aleatório.randrange(5, 10) ou aleatório.randrange(-20, -10) . O começar parâmetro sempre será menor que o parar parâmetro; caso contrário, esta função gera um erro como 'Traceback (última chamada mais recente) e aumentar o intervalo vazio de ValueError para randrange()' .
Por exemplo:
Veja este exemplo em que estamos violando a regra ao passar o começar parâmetro maior que o parar parâmetro em random.randrange() função, que gera uma mensagem de erro como:
string em java
import random randomNumber = random.randrange(10,5)
Saída:
Algumas das outras funções do Python aleatório módulo que são usados para gerar números aleatoriamente são:
random.choice()
Pitão aleatório módulo tem um escolha() função usada para escolher um elemento aleatório de uma lista ou outra sequência. A random.choice() função é usada para retornar um elemento aleatório da lista de valores.
Sintaxe de ramdom.choice()
random.choice(sequence)
ou
random.choices(sequence, k=l)
Aqui o parâmetro seqüência pode ser string, lista, tupla e random.choice() apenas um único elemento aleatório.
No random.choices() função k é o número de elementos a serem retornados. Suponha que não mencionemos o valor de k parâmetro o random.choices() retorna um único item da sequência ou lista.
Exemplo 1:
Neste exemplo, estamos fornecendo sequência (lista) como parâmetro e retornando um único elemento aleatório.
import random listValue = [5,10,15,20,25,30] item = random.choice(listValue) print('random item from list is: ', item)
Saída:
random item from list is: 10
Exemplo 2:
A função random.choices() é usada principalmente para retornar elementos aleatórios com várias possibilidades. Esta função também leva peso (k) ao número de escolhas aleatórias. Por exemplo, queremos imprimir nomes de 3 filmes aleatórios de uma lista de 5 filmes.
import random movieList = ['Matrix', 'Terminator', 'Black Panther', 'Avengers', 'Titanic'] randomMovies = random.choices(movieList, k=3) print('random movies from list are: ', randomMovies)
Saída:
random movies from list are: ['Avengers', 'Black Panther', 'Titanic']
aleatório.randint()
Pitão aleatório.randint() A função é usada para gerar um número inteiro aleatório dentro do intervalo especificado.
Sintaxe:
random.randint(start, stop)
O aleatório.randint() função leva dois parâmetros começar , que é um intervalo inicial, e parar , que é um intervalo final. Ambos os parâmetros (início, parada) são incluídos ao gerar um número aleatório.
Exemplo de random.randint() gerando uma lista de números inteiros aleatórios
Este exemplo criará uma lista de vários inteiros aleatórios usando a função randint(). Gerando uma lista de 5 inteiros aleatórios entre 1 e 100, ambos os valores são inclusivos.
import random randomListValue = [] # specifing length of list equal to 5 for i in range(0, 5): # generates random numbers from 1 to 100 randomListValue.append(random.randint(1, 100)) print('Printing list of 5 generated random numbers') print(randomListValue)
Saída:
Printing list of 5 generated random numbers [65, 82, 3, 39, 40]
No entanto, pode haver a possibilidade de que o aleatório.randint() função retorna um número duplicado no resultado de saída. Para evitar o número inteiro aleatório duplicado em um resultado, use amostra aleatória() função.
amostra aleatória()
No exemplo acima, pode haver uma possibilidade de que aleatório.randint() gera o número aleatório duplicado da lista. Se você deseja gerar números aleatórios exclusivos de uma lista, use amostra aleatória() função.
O amostra aleatória() A função gera elementos exclusivos de um conjunto, lista e outras sequências. A função random.sample() do Python permite amostragem aleatória de mais de um elemento dentro de um intervalo da lista sem duplicação.
Exemplo de random.sample() para gerar elementos aleatórios de uma lista sem duplicatas:
Neste exemplo, geraremos 10 números inteiros aleatórios no intervalo de 0 a 100.
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100), 10) print(randomList)
Saída:
[15, 17, 16, 66, 34, 85, 71, 82, 97, 48]
Se você deseja gerar uma lista de números aleatórios e cada um deles deve ser múltiplo de 'n', use o parâmetro step da função range().
Por exemplo, gerar 10 números inteiros aleatórios que são múltiplos de 5 no intervalo de 0 a 100 usando random.sample(range(0, 100, 5), 10).
import random # Generate 10 unique random numbers within a range randomList = random.sample(range(0, 100, 5), 10) print(randomList)
Saída:
[75, 40, 20, 55, 15, 10, 5, 90, 95, 70]
Classificação de lista()
O Píton organizar() A função é usada para classificar os números inteiros aleatórios da lista em ordem crescente (por padrão). Também podemos classificar o valor da lista em ordem decrescente, especificando sua ordem reverso = Verdadeiro . O valor padrão de reverter é Falso .
Exemplo 1: sort() classificando os elementos da lista em ordem crescente
Neste exemplo, iremos gerar uma lista aleatória de 5 números em um intervalo de 50 a 100 com largura de 5 e classificá-los usando organizar() função.
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list ascending order by default randomList.sort() print('After sorting random integers list') print(randomList)
Saída:
Before sorting random integers list [90, 80, 60, 55, 85] After sorting random integers list [55, 60, 80, 85, 90]
Exemplo 2: sort() classificando os elementos da lista em ordem decrescente
Neste exemplo, classificaremos os elementos da lista em ordem decrescente usando randomList.sort (reverso = Verdadeiro) .
import random randomList = random.sample(range(50, 100, 5), 5) print('Before sorting random integers list') print(randomList) # sort the list descending order randomList.sort(reverse=True) print('After sorting random integers list') print(randomList)
Saída:
Before sorting random integers list [70, 50, 80, 90, 85] After sorting random integers list [90, 85, 80, 70, 50]