37 lines
715 B
Python
37 lines
715 B
Python
|
|
#libraries
|
|
|
|
import secrets
|
|
import string
|
|
|
|
#create password
|
|
|
|
def create_password(length: int) -> str:
|
|
pool = string.ascii_letters + string.digits + string.punctuation
|
|
|
|
while True:
|
|
|
|
password = ''.join(secrets.choice(pool) for _ in range(length))
|
|
|
|
if any(char.isdigit() for char in password):
|
|
return password
|
|
#length and check
|
|
while True:
|
|
|
|
try:
|
|
length = int(input("Choice the length of the password: "))
|
|
|
|
if length >= 4:
|
|
break
|
|
|
|
else:
|
|
print("the number must be 4 or bigger")
|
|
|
|
except ValueError:
|
|
print("only numbers are allowed")
|
|
|
|
|
|
#output
|
|
print("password: ", create_password(length))
|
|
|