Die if expression wo das Kommentar steht ist bisschen komisch. Ich nehme an du willst überprüfen ob Groß, Klein Buchstaben und Zahlen im Password sind.
Die Expression gehört bisschen angepasst und ich empfehle dir noch Sonderzeichen hinzuzufügen.(/*()'$" usw.)
Aber dein Code gehört so geändert:
while counter < times:
counter = counter + 1
chars=string.ascii_letters + string.digits
password = "".join(random.choice(chars) for _ in range(length))
if any(p in string.ascii_uppercase for p in password) and any(p in string.ascii_lowercase) and any(p in string.digits for p in password) and password not in store:
store.append(password)
else:
l += 0
Dein If
if [string.ascii_uppercase and string.ascii_lowercase and string.digits in password] and password not in store:
string.ascii_uppercase evaluiert zu True
string.ascii_lowercase evaluiert auch zu True
string.digits in password ist False
True and True and False ist False
und das ganze in einem Array ist ein Array mit False also das: [False]. Jedoch ist das ganze in einem if True.
Die abfrage macht gar keinen sinn. Um Strings zu addieren kannst du ein + verwenden aber kein and. Die abfrage macht dann trotzdem keinen Sinn
string.ascii_uppercase + string.ascii_lowercase + string.digits
Im Endeffekt steht hier:
[False] and password not in store