我正在尝试制作密码生成器。我列出了包含所有数字和字母的列表。我试图将所有列表添加到一个大列表中,然后从每个位置的随机列表中随机选择一个。
def generator():
password=['','','','','','','','','','','']
symbols=['£','$','%','^','&','*','_']
numbers=[0,1,2,3,4,5,6,7,8,9]
letter=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
Uletter=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
password[0]=random.choice(numbers)
password[1]=random.choice(numbers)
password[2]=random.choice(numbers)
password[3]=random.choice(numbers)
password[4]=random.choice(numbers)
password[5]=random.choice(numbers)
password[6]=random.choice(numbers)
password[7]=random.choice(numbers)
password[8]=random.choice(numbers)
password[9]=random.choice(numbers)
password[10]=random.choice(numbers)
print(password)
我知道每个插槽都有random.choice(数字),但这只是为了节省时间,直到我让发电机工作。
答案 0 :(得分:0)
all_chars = symbols + numbers + letter + Uletter
password = ''.join(str(random.choice(all_chars)) for i in range(11))
请注意,您必须包含str()
,因为numbers
的元素是整数,而不是字符串。
答案 1 :(得分:0)
我通常会回答@Kerricks的答案,但是为了向您展示其他一些稍长的选项:
import random
import string
numbers = [str(x) for x in range(10)]
lower_case_letters = [x for x in string.lowercase]
upper_case_letters = [x for x in string.uppercase]
symbols = ['$', '%', '^', '&', '*', '_']
all_chars = numbers + lower_case_letters + upper_case_letters + symbols
password = ''
for x in range(11):
password += random.choice(all_chars)
print(password)
这演示了如何生成转换为字符串的数字列表。如何使用strings
库获取大写和小写字母,如何连接列表,以及如何使用random.choice
从完整的all_chars
列表中选择随机选择。 HTH。
哦顺便说一下:不要,不要在现实生活中生成这样的密码。请。