Lost Dark 0 Denunciar post Postado Abril 16, 2015 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
_Isis_ 202 Denunciar post Postado Abril 16, 2015 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
Lost Dark 0 Denunciar post Postado Abril 16, 2015 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.htmlO 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