我正在尝试创建一个密码生成器,它为列表框中的每一行创建一个新密码,我有一个填充了名称的列表框,我试图获得一个循环来计算列表中有多少个名称以及每个名称创建密码。我有密码生成器,我只是想弄清楚循环的外观。
这是我到目前为止所拥有的。
from tkinter import *
import os, random, string
appWin = Tk() #the main application window
lstBoxArray = [] #an atrray to hold all the listboxes
def passWord():
length = 8
chars = string.ascii_letters + string.digits
random.seed = (os.urandom(1024))
psword = ''.join(random.choice(chars) for i in range(length))
print(psword)
#this section generates a random 'code' which is the password
#at the moment it is still a stub hence the print command at the end.
stdName = Listbox(frm) #listbox populated by names
stdUserName = Listbox(frm) #listbox where a login username is shown
stdPass = Listbox(frm) #listbox where the passwords will be placed
lstBoxArray = [stdName, stdUserName, stdPass]
scrBar.config(command=setlstBoxYview) ##
stdName.config(yscrollcommand=scrBar.set)
stdUserName.config(yscrollcommand=scrBar.set)
stdPass.config(yscrollcommand=scrBar.set)
# these are just configuring the listboxs
stdName.grid(column=1,row=0,sticky='NS')
stdUserName.grid(column=4,row=0,sticky='NS')
stdPass.grid(column=5,row=0,sticky='NS')
scrBar.grid(column=6,row=0,sticky='NS')
frm.rowconfigure(0,weight=1) ##
所以基本上我的 stdName 列表框填充了大约 28 个名称,它与 stdUserName 列表框相同。我想创建一个循环来计算有多少个名字,并为每个名字创建一个密码。
像这样的东西。
def passGen():
for i in range(stdName.size()): #this counts how many names there are
'until there is the same number of pswords as there are i'
loop the passWord and
stdPass.insert(END, passWord) each time it loops
stop when stdPass == stdName
^^这显然不是代码,但这是我想要得到的^^,我的目标是然后将 passGen 链接到一个按钮。我没有包含我所有的代码,因为它并不是真正相关的,但是对此的帮助将不胜感激。
ps 对不起,如果有任何拼写错误,我不是以英语为母语的人。