我正在尝试制作密码生成器。我列出了包含所有数字和字母的列表。我正在尝试将所有列表添加到一个大列表中,然后从每个职位的随机列表中选择一个随机的东西。
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)
我知道我有随机。
all_chars = symbols + numbers + letter + Uletter
password = ''.join(str(random.choice(all_chars)) for i in range(11))
请注意,您必须包括str()
,因为numbers
的元素是整数,而不是字符串。
我通常会选择@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。
哦,顺便说一句:不要,不要在现实生活中生成这样的密码。请。