Es mejor hacer el archivo .pyw para que no salga la molesta consola.
Es todo simple, pero creo ayudará a los más nuevos.
Saludos
Código
#código realizado por tincopasan #-*- coding: utf -8 -*- from tkinter import * from tkinter import messagebox import string import random def generar_pass(): pass_may=cmay.get() pass_min=cmin.get() pass_num=cnum.get() pass_sim=csim.get() exito= 0 global argumentos argumentos ="" if pass_may == 1: mayusculas=string.ascii_uppercase argumentos = argumentos + mayusculas exito=1 if pass_min == 1: minusculas=string.ascii_lowercase argumentos = argumentos + minusculas exito = 1 if pass_sim == 1: simbolos="@#\/¿?¡!.,+-_" argumentos=argumentos + simbolos exito = 1 if pass_num == 1: numeros=string.digits argumentos= argumentos + numeros exito=1 if exito == 0: messagebox.showinfo("¡Error!","Debes seleccionar por lo menos 1 argumento") if exito == 1: cuantas = 0 total = arg_cantidad.get() dic = open("diccionario.txt", "a") while cuantas < total: cuantas = cuantas + 1 password = "".join(random.SystemRandom().choice(argumentos) for _ in range(arg_largo.get())) dic.write(password + "\n") dic.close() messagebox.showinfo("¿Atención!","Archivo de claves generado exitosamente") ventana=Tk() ventana.title("Generador de Passwords") ventana.geometry("220x190+200+150") eleccion=Label(ventana,text="Elija que argumentos utilizar").place(x=0,y=0) cmay=IntVar() chkmay=Checkbutton(ventana,text="Mayúsculas",variable=cmay,onvalue=1,offvalue=0).place(x=10,y=20) cmin=IntVar() chkmin=Checkbutton(ventana,text="Minúsculas",variable=cmin,onvalue=1,offvalue=0).place(x=10,y=40) cnum=IntVar() chknum=Checkbutton(ventana,text="Números",variable=cnum,onvalue=1,offvalue=0).place(x=10,y=60) csim=IntVar() chksim=Checkbutton(ventana,text="Símbolos",variable=csim,onvalue=1,offvalue=0).place(x=10,y=80) largo=Label(ventana,text="¿Largo de la contraseña?: ").place(x=10,y=100) cantidad=Label(ventana,text="¿Cantidad de contraseñas?: ").place(x=10,y=120) arg_largo= IntVar() inicio=Entry(ventana,textvariable= arg_largo, width=2).place(x=160,y=100) arg_cantidad=IntVar() cuantas=Entry(ventana,textvariable=arg_cantidad,width=2).place(x=160,y=120) quien=Label(ventana,text="Realizado por tincopasan").place(x=10,y=170) boton_generar=Button(ventana,text="Generar pass",command=generar_pass).place(x=130,y=140) boton_salir=Button(ventana,text="Salir",command=ventana.quit).place(x=10,y=140) arg_cantidad.set(1) arg_largo.set(1) ventana.resizable(0,0) ventana.mainloop()