Python试图从列表中的列表中随机选择值会导致TypeError:list最多需要1个参数,得到4个参数
我试图搜索了很多,但找不到适当的解决方案,因此张贴在这里。 我是Python新手,我正在尝试创建一个简单的密码生成器应用程序,它由8个字符组成,应该由1个大写、1个小写、1个特殊字符和1个数值组成。我能够得到这些东西,并创建一个4个字母的密码,包括大写、小写、特殊字符和数字值。对于剩下的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
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
是的,这就是我要找的。非常感谢:)是的,这就是我要找的。非常感谢:)