Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lost Dark

Gerar listagem de números aleatórios não repetitivos

Recommended Posts

Bom dia,

 

Estou tentando fazer um algorítimo que gere uma sequencia de números aleatórios, mais que não sejam repetitivos, tentei fazer e cheguei ao código a baixo, porém ainda gera números repetidos, aguem pode me dar uma luz?

import random

lista = []
for i in range(15):
    n = random.randint(1,25)
    if n in lista:
        m = random.randint(1,25)
        if m != n:
            lista.append(n)
    else:    
        lista.append(n)
lista.sort()

print(lista)

Compartilhar este post


Link para o post
Compartilhar em outros sites

import random
lista = []
for i in range(10):
  n = None
  while (n in lista):
    n = random.randint(1,15)
  lista.append(n)

A forma mais simples:

import random
lista = random.sample(range(1,25), 15)

https://docs.python.org/2/library/random.html

 

O sample "remove" o valor escolhido da lista gerada pelo range (isso se chama amostragem sem reposição), então a sua lista no final terá apenas valores únicos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, Isis

 

import random
lista = []
for i in range(10):
  n = None
  while (n in lista):
    n = random.randint(1,15)
  lista.append(n)

A forma mais simples:

import random
lista = random.sample(range(1,25), 15)

https://docs.python.org/2/library/random.html

O sample "remove" o valor escolhido da lista gerada pelo range (isso se chama amostragem sem reposição), então a sua lista no final terá apenas valores únicos.

 

 

Obrigado _Isis_, eu estava lendo a documentação atrás de uma luz, mais vi que estava no tópico errado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.