Загрузка данных


import secrets
from tkinter import *
from tkinter import ttk

list_letters = [
    "a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
    "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
    "u", "v", "w", "x", "y", "z"]
list_numbers = ["0", "1", "2", "3", "4",
                "5", "6", "7", "8", "9"]
list_chars = ["#", "@", "%", "^", "&", "*",
              "(", ")", "_", "+", "=", "|",
              "[", "]", "{", "}", ":", ";",
              "<", ">", "?", "~", ".", ","]

def password_gen(password):
    list_symbols = []
    list_symbols.append(secrets.choice(list_letters))
    list_symbols.append(secrets.choice(list_letters).upper())
    list_symbols.append(secrets.choice(list_numbers))
    list_symbols.append(secrets.choice(list_chars))

    for i in range(8):
        select_list = secrets.randbelow(3)
        if select_list == 0:
            select_case = secrets.randbelow(2)
            if select_case == 0:
                list_symbols.append(secrets.choice(list_letters))
            else:
                list_symbols.append(secrets.choice(list_letters).upper())
        elif select_list == 1:
            list_symbols.append(secrets.choice(list_numbers))
        elif select_list == 2:
            list_symbols.append(secrets.choice(list_chars))

    secrets.SystemRandom().shuffle(list_symbols)
    for symbol in list_symbols:
        password += symbol

    return password

def generate_and_show():
    entry.delete(0, END)
    entry.insert(0, password_gen(""))

root = Tk()
root.title("ГЕНЕРАТОР ПАРОЛЕЙ")
root.geometry("350x100")
entry = Entry(root, font=("Arial", 14), justify="center")
entry.pack()

btn = ttk.Button(text="Сгенерировать пароль", command=generate_and_show)
btn.pack()
root.mainloop()