Python试图从列表中的列表中随机选择值,结果导致TypeError:list最多需要1个参数,得到4个



我试着搜索了很多,但找不到合适的解决方案,所以在这里发帖。我是Python的新手,我正在尝试创建一个简单的密码生成器应用程序,该应用程序由8个字符组成,应该由1个大写、1个小写、1个特殊字符和1个数值组成。我可以得到这些东西,并创建一个4个字母的密码,包括大写、小写、特殊字符和数值。对于剩下的4个字符,我想从由所有这些选项组成的列表中随机选择选项,但由于某种原因,我无法随机获得它的值。当我试图从列表中的列表中访问随机选择时,我遇到了以下错误:

TypeError: list expected at most 1 argument, got 4

我想知道如何为最终密码中的其余4个值选择一个随机值,该值可以是小写、大写、数字或特殊字符。我知道我可以使用for循环来完成同样的任务,但我想随机完成,所以我正在尝试这种方法。

以下是我到目前为止的代码,以及我试图获得列表中随机值的一些东西:

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()

list((方法只接受一个参数。你可以做

otherrandom = lowerchars + upperchars + numericchars + speciachars

这会将所有列表添加到一起,这可能正是您想要的。

相关内容

  • 没有找到相关文章

最新更新