“Amostra maior que a população” em random.sample python
Ao criar um gerador de senhas simples para mim, notei que se eu quero que minha população seja apenas dígitos (0-9), que é um total de 10 opções, se eu quero meu comprimento acima de 10, ele não usará nenhum dos dígitos mais de uma vez e retorne o erro "amostra maior que população".
é possível manter o código, mas adicionar / reduzir linhas de código para que funcione? ou eu tenho que usar uma escolha aleatória de uso?
import string
import random
z=int(raw_input("for: \n numbers only choose 1, \n letters only choose 2, \n letters and numbers choose 3, \n for everything choose 4:"))
if z==1:
x=string.digits
elif z==2:
x=string.letters
elif z==3:
x=string.letters+string.digits
elif z==4:
x=string.letters+string.digits+string.punctuation
else:
print "die in a fire"
y=int(raw_input("How many passwords would you like?:"))
v=int(raw_input("How long would you like the password to be?:"))
for i in range(y):
string=""
for n in random.sample(x,v):
string+=n
print string
ty