passgen.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import random
  2. n=int(input("Lengh password: "))
  3. passwd = ''
  4. choice = input("Do you need punctuation? [Y/n]: ")
  5. if choice not in ["n", "N", "Not", "not", "no"]:
  6. Alphabet = '1234567890!@#$%^&*()_.:;[]{}^,-+=abcdefghigklmnopqrstuvyxwzABCDEFGHIGKLMNOPQRSTUVYXWZ' # Алфавит
  7. choice = False
  8. else:
  9. Alphabet = '1234567890abcdefghigklmnopqrstuvyxwzABCDEFGHIGKLMNOPQRSTUVYXWZ'
  10. choice = True
  11. remv = list(input("What symbols must be removed?\n"))
  12. for i in remv:
  13. Alphabet.discard(i) # Убирает ненужные символы
  14. answ = "n"
  15. i=0
  16. while answ not in ["y", "Y", "Yes", "yes"]:
  17. i += 1
  18. if i > 1000:
  19. print("Error")
  20. break
  21. passwd = ''.join(random.sample(Alphabet, n)) # Рандомит пароль
  22. if choice:
  23. if passwd.isalpha() or passwd.isdecimal() or passwd.islower() or passwd.isupper():
  24. continue
  25. else:
  26. # только буквы и цифры только буквы только цифры нижний регистр верхний регист
  27. if passwd.isalnum() or passwd.isalpha() or passwd.isdecimal() or passwd.islower() or passwd.isupper():
  28. continue
  29. print('Your password is: ', passwd)
  30. answ = input("Do you like it? [Y/n]: ")