【发布时间】:2022-01-07 12:42:15
【问题描述】:
import string
import random
characters = list(string.ascii_letters + string.digits + "!@#$%^&*()")
i = input('Please enter confirm (input 1) to proceed with password creation (or any to quit):\n')
if i == 1:
print("Generating username and password....")
length = int(input("Enter password length: "))
random.shuffle(characters)
password = []
for i in range(length):
password.append(random.choice(characters))
random.shuffle(password)
print("".join(password))
else:
exit
是否有更简单的方法来生成随机密码,在 if 语句中生成密码也不起作用我该如何解决这个问题。我也希望能够调出我的密码,所以在我生成密码后如何将其放入变量中。
【问题讨论】:
-
input总是返回一个字符串。做if i == '1':. -
跳过循环并执行
password = characters[:length]。而且你不需要第二次洗牌。 -
是的。
uuid.uuid4().hex保证是唯一且足够强大的加密使用。 -
嗯,那只使用十六进制数字的字母表。
-
@TimRoberts - 是的。然而,满足“有没有更简单的方法来生成随机密码”的规定要求。
标签: python list if-statement import generator