带读取和随机模块的Python密码生成器

带读取和随机模块的Python密码生成器,python,random,read-write,Python,Random,Read Write,我是python新手,正在编写密码生成器。到目前为止,我想我正处在一个需要解释的高原。 最后,如果我想用上面给出的用户输入生成密码,我会得到一个类型错误 (TypeError:choice()接受2个位置参数,但给出了3个) 我遗漏了什么,所以random.choice函数不起作用 import random Uppercaseletters = open("Upper.txt").read() Lowercaseletters = open("Lower.

我是python新手,正在编写密码生成器。到目前为止,我想我正处在一个需要解释的高原。 最后,如果我想用上面给出的用户输入生成密码,我会得到一个类型错误 (TypeError:choice()接受2个位置参数,但给出了3个) 我遗漏了什么,所以random.choice函数不起作用


import random



Uppercaseletters = open("Upper.txt").read()
Lowercaseletters = open("Lower.txt").read()
Numbers = open("Zahlen.txt").read()
Symbols = open("Symbole.txt").read()


Upperbool = True
Lowerbool = True
Numbersbool = True
Symbolsbool = True

whole = ""

if Upperbool:
    whole += Uppercaseletters

if Lowerbool:
    whole += Lowercaseletters

if Numbersbool:
    whole += Numbers

if Symbolsbool:
    whole += Symbols

print("Hello and welcome to the simple password generator.")


a = 1
b = 1

if b <= 10:
    amount = int(input("How many passwords do you want to generate? "))
else:
    print("You are exceeding the limit of a maximum of 10 Passwords")
    
# length auswählen lassen (maximal 20 Zeichen lang (Fehler prevention))
if a <= 20:     
    length = int(input("How long do you want your password to be? "))
else:
    print("That password will be too long, try a number below 20")

for x in range(amount):
    password = "".join(random.choice(whole, length))
    print(password)

随机输入
大写字母=打开(“Upper.txt”).read()
Lowercaseletters=open(“Lower.txt”).read()
number=open(“Zahlen.txt”).read()
Symbols=open(“Symbole.txt”).read()
Upperbool=True
Lowerbool=True
Numbersbool=True
Symbolsbool=真
整
如果是Upperbool:
整+=大写字母
如果是Lowerbool:
整数+=小写字母
如果编号为bool:
整数+=数字
如果Symbolsbool:
整+=符号
打印(“您好,欢迎使用简单密码生成器。”)
a=1
b=1

如果b我相信你在寻找这样的东西:

随机导入
大写字母=打开(“Upper.txt”).read()
Lowercaseletters=open(“Lower.txt”).read()
number=open(“Zahlen.txt”).read()
Symbols=open(“Symbole.txt”).read()
Upperbool=True
Lowerbool=True
Numbersbool=True
Symbolsbool=真
整
如果是Upperbool:
整+=大写字母
如果是Lowerbool:
整数+=小写字母
如果编号为bool:
整数+=数字
如果Symbolsbool:
整+=符号
打印(“您好,欢迎使用BMD的简单密码生成器。”)
金额=100
长度=100
当金额>10时:
amount=int(输入(“您要生成多少密码?”)
如果金额>10:
打印(“您超过了最多10个密码的限制”)
当长度>20时:
length=int(输入(“您希望密码的长度是多少?”)
如果长度>20:
打印(“该密码太长,请尝试低于20的数字”)
对于范围(金额)内的密码:
password=“”
对于范围内的字符(长度):
密码=密码+随机。选择(列表(全部))
打印(密码)

我修改了它,使其不允许数量超过10,长度超过20。

random.choice
只返回一个元素。如果需要序列,请重复调用它。