„Próbka większa niż populacja” w pythonie random.sample
tworząc dla mnie prosty generator przejść, zauważyłem, że jeśli chcę, aby moja populacja była tylko cyframi (0-9), co stanowi 10 opcji, jeśli chcę mieć długość powyżej 10, nie użyje żadnej z cyfr więcej niż raz i zwróć błąd „próbka większa niż populacja”.
czy jest możliwe zachowanie kodu, ale dodanie / zmniejszenie linii kodu, aby działało? lub CZY MAM DO UŻYCIA losowego wyboru?
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