Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python试图从列表中的列表中随机选择值会导致TypeError:list最多需要1个参数,得到4个参数_Python_Python 3.x_String_Random_Password Generator - Fatal编程技术网

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

Python试图从列表中的列表中随机选择值会导致TypeError:list最多需要1个参数,得到4个参数,python,python-3.x,string,random,password-generator,Python,Python 3.x,String,Random,Password Generator,我试图搜索了很多,但找不到适当的解决方案,因此张贴在这里。 我是Python新手,我正在尝试创建一个简单的密码生成器应用程序,它由8个字符组成,应该由1个大写、1个小写、1个特殊字符和1个数值组成。我能够得到这些东西,并创建一个4个字母的密码,包括大写、小写、特殊字符和数字值。对于剩下的4个字符,我想从由所有这些选项组成的列表中随机选择选项,但由于某些原因,我无法随机获得它的值。当我尝试从列表中的列表访问随机选择时,我遇到以下错误: import random import string de

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

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()
TypeError:列表最多需要1个参数,得到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

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

看起来您的目标是:
otherrandom=LowerCars+upperchars+numericchars+SpecialChars
是的,这就是我要找的。非常感谢:)是的,这就是我要找的。非常感谢:)