«Выборка больше, чем популяция» в питоне random.ample
Создав простой генератор пропусков для себя, я заметил, что если я хочу, чтобы моя популяция состояла только из цифр (0-9), что составляет в общей сложности 10 вариантов, если я хочу, чтобы моя длина превышала 10, он не будет использовать ни одну из цифр более одного раза и вернуть "выборка больше, чем население " ошибка.
Можно ли сохранить код, но добавить / уменьшить строки кода, чтобы он работал? или я должен использовать случайный выбор?
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
ти