Jump to content

Archived

This topic is now archived and is closed to further replies.

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)

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.