Я пытался много искать, но не смог найти правильного разрешения, поэтому разместил здесь. Я новичок в Python и пытаюсь создать простое приложение для генерации паролей, которое состоит из 8 символов и должно состоять из 1 заглавных букв, 1 строчных букв, 1 специального символа и 1 цифры c. Я могу получить эти вещи и создать четырехбуквенный пароль со значениями в верхнем, нижнем регистре, специальными символами и цифрами c. Для оставшихся 4 символов я хочу выбрать параметры случайным образом из списка, который состоит из всех этих параметров, но по какой-то причине я не могу получить значения для него случайным образом. Я получаю следующую ошибку, когда пытаюсь получить доступ к случайному выбору из списка в списке:
TypeError: list expected at most 1 argument, got 4
Я хотел знать, как выбрать случайное значение, которое может быть либо строчные, прописные, цифры c или специальные символы для оставшихся 4 значений в моем окончательном пароле. Я знаю, что могу использовать for
l oop для выполнения sh того же, но я хотел бы сделать это случайным образом, поэтому я пробую этот подход.
Ниже приведен код, который у меня есть, и некоторые вещи, которые я пытался получить список случайных значений в списке:
import random
import string
def passwordGenerator():
lowerchars = list(string.ascii_lowercase)
upperchars = list(string.ascii_uppercase)
speciachars = ['&','!','_','@']
numericchars = list(range(0,9))
otherrandom = list(string.ascii_lowercase, string.ascii_uppercase, range(0,9), ['&','!','_','@'])
#otherrandom = list(list(string.ascii_lowercase), list(string.ascii_uppercase) list(range(0,9)), ['&','!','_','@'])
print(random.choice(otherrandom))
#print(random.choice(random.choice(otherrandom)))
password = random.choice(lowerchars) + random.choice(upperchars) + random.choice(speciachars) + str(random.choice(numericchars))
passwordGenerator()