import random
from tkinter import *
def generate(x, y):
# x = characters to generate
# y = generate all uppers, all lowers, anything
if y == 'Upper':
start, stop = 65, 91
elif y == 'Lower':
start, stop = 97, 123
else:
start, stop = 33, 127
a = []
while x:
# for x times, generate a ranmdom number, convert it into
# a character and add it to list 'a'
a.append(chr(random.randrange(start, stop)))
x = x - 1
# when x is 0, convert the list to a string
d = ''.join(str(v) for v in a)
return d
b = 1
while b:
ans = 0
rand = Tk()
amnt = IntVar()
rand.wm_attributes('-topmost', 1)
rand.wm_title("Pwd Gen")
randtext = Text(rand, width=23, height=1)
randtext.pack()
randtext.insert("1.0", "Character Amount:")
randtext.config(state=DISABLED)
charamnt = Entry(rand, textvariable=amnt)
charamnt.pack()
charamnt.delete(0, END)
charamnt.insert(0, "10")
randans = Text(rand, width=23, height=2)
randans.pack()
randans.insert("1.0", ans)
randans.config(state=DISABLED)
incl = StringVar(rand)
incl.set("Upper")
inc = OptionMenu(rand, incl, "Upper", "Lower", "All")
inc.pack()
def button():
genamnt = amnt.get()
include = incl.get()
ans = generate(genamnt, include)
randans.config(state=NORMAL)
randans.delete("1.0", END)
randans.insert("1.0", ans)
randans.config(state=DISABLED)
return
def randquit():
global b
b = 0
rand.destroy()
button = Button(rand, text="Generate", command=button)
button.pack()
button_quit = Button(rand, text="Quit", command=randquit)
button_quit.pack()
mainloop()