Mundo em Python

Gerar Senha

import random
import string
from tkinter import *
def app():
try:
comprimento = int(Comprimento_senha.get()) # Obtém o comprimento da senha
usar_maiusculas = var1.get() == "s" # Verifica se deve incluir maiúsculas
usar_numeros = var2.get() == "s" # Verifica se deve incluir números
usar_simbolos = var3.get() == "s" # Verifica se deve incluir símbolos
caracteres = string.ascii_lowercase
if usar_maiusculas:
caracteres += string.ascii_uppercase
if usar_numeros:
caracteres += string.digits
if usar_simbolos:
caracteres += string.punctuation # Gera a senha aleatória
senha = ''.join(random.choice(caracteres) for _ in range(comprimento)) # Exibe o resultado
resultado_texto.config(text=f"Senha gerada: {senha}")
except ValueError:
resultado_texto.config(text="Por favor, insira um número válido para o comprimento.") def limpar():
Comprimento_senha_entrada.delete(0, END)
resultado_texto.config(text="")
root = Tk()
root.geometry("700x600")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Gerar Senha")
titulo = Label(text="Gerar Senha", font=("Arial", "35", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.23, rely=0.05)
texto_sub1 = Label(text="Comprimento da senha:", font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.26) texto_sub2 = Label(text="Incluir letras maiúsculas:", font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.05, rely=0.35) texto_sub3 = Label(text="Incluir números:", font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub3.place(relx=0.05, rely=0.45) texto_sub4 = Label(text="Incluir símbolos:", font=("Arial", "18", "bold"), bg="#103030", fg="#49e3e3")
texto_sub4.place(relx=0.05, rely=0.55) # Entrada do comprimento da senha
Comprimento_senha = StringVar()
Comprimento_senha_entrada = Entry(textvariable=Comprimento_senha, font=("Arial", "12", "bold"), bg="white", fg="blue", justify='center')
Comprimento_senha_entrada.place(relx=0.5, rely=0.27, relwidth=0.45) # RadioButtons para letras maiúsculas
var1 = StringVar()
letras_maiúsculas_radio_sim = Radiobutton(root, text="Sim", value="s", variable=var1)
letras_maiúsculas_radio_sim.place(relx=0.5, rely=0.35, relwidth=0.15)
letras_maiúsculas_radio_nao = Radiobutton(root, text="Não", value="n", variable=var1)
letras_maiúsculas_radio_nao.place(relx=0.7, rely=0.35, relwidth=0.15)
var2 = StringVar()
Incluir_números_radio_sim = Radiobutton(root, text="Sim", value="s", variable=var2)
Incluir_números_radio_sim.place(relx=0.5, rely=0.45, relwidth=0.15)
Incluir_números_radio_nao = Radiobutton(root, text="Não", value="n", variable=var2)
Incluir_números_radio_nao.place(relx=0.7, rely=0.45, relwidth=0.15)
var3 = StringVar()
Incluir_símbolos_radio_sim = Radiobutton(root, text="Sim", value="s", variable=var3)
Incluir_símbolos_radio_sim.place(relx=0.5, rely=0.55, relwidth=0.15)
Incluir_símbolos_radio_nao = Radiobutton(root, text="Não", value="n", variable=var3)
Incluir_símbolos_radio_nao.place(relx=0.7, rely=0.55, relwidth=0.15)
but1 = Button(text="Calcular", bd=2, bg='#107db2', fg='white', font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.65, relwidth=0.25, relheight=0.1) but_limpar = Button(text="Limpar", bd=2, bg='#107db2', fg='white', font=('verdana', 12, 'bold'), command=limpar)
but_limpar.place(relx=0.4, rely=0.65, relwidth=0.25, relheight=0.1) but_sair = Button(text="Sair", bd=2, bg='#107db2', fg='white', font=('verdana', 12, 'bold'), command=root.destroy)
but_sair.place(relx=0.7, rely=0.65, relwidth=0.25, relheight=0.1)
resultado_texto = Label(text="", font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.15)
root.mainloop()
0