依据之前提到的创建方式,缓段拆grid布局设计UI,设计登录用户名和密码检查函数。
from tkinterimport *
def LoginCheck():
name = txtName.get()
扰枣 password = txtPassword.get()
name_len =len(name)
password_len =len(password)
if name =="TestName" and password =="Python":
msgLabel['text'] ='登录成功'
elif name =="TestName" and password !="Python":
msgLabel['text'] ='密码错误'
txtPassword.delete(0,password_len)
else:
msgLabel['text'] ='用户名错误'
txtName.delete(0,name_len)
txtPassword.delete(0, password_len)
wnd = Tk()
lblName = Label(wnd, text='User Name:')
lblName.grid(row=0, column=0, sticky=W)
txtName = Entry(wnd)
txtName.grid(row=0, column=1, sticky=E)
lblPs = Label(wnd, text='密码:')
lblPs.grid(row=1, column=0, sticky=W)
txtPassword = Entry(wnd)
txtPassword["show"] ='*'
txtPassword.grid(row=1, column=1, sticky=E)
btn = Button(wnd, text='登录', command=LoginCheck)
btn.grid(row=2, column=1, sticky=E)
# Message
msgLabel = Label(wnd, text='')
msgLabel.grid(row=3)
wnd.mainloop()
运行效果如下:
可输入不同的用户名和密码检测逻辑上设计是否正确。
用户名错误燃族:
密码错误:
登录成功:
##注意:最左边每个=表示一个空格##修改成你的姓名
name="aabb"
c,userinfo=0,{"account":"123","password":"456","count":3}
t=input("请输入账号尺搭:"陵悄拿)
while t!=userinfo["account"] and c<=userinfo["count"]:
====c=c+1
====t=input("账号错误,请重新输入:")
if c<=userinfo["count"]:
====t=input("请输入密码:")
====while t!=userinfo["password"] and c<=userinfo["count"]:
========t=input("密码错误,请重新输入运友:")
========c=c+1
if c<=userinfo["count"]:
====print("欢迎%s登录到本系统!" %name)
else:
====print("你登录次数过多。%s,请联系管理员。" %name)
# -*- coding: utf-8 -*-errortimes=0
while errortimes<3:
user=raw_input("user:")
password=raw_input("password:")
if user=='123' and password=='456':
#正确后允许进入并退出循环
print "enter"
break
else:
#错误时,出错计数加1
print "Error , enter again:"
errortimes+=1
else:
#错误达到三次,结束循环
print "You are not allowed to enter!"
给你写个简启亮散单的例子你看看。跟你写的差别悄氏不大,要实现输入三次失败就禁止进入,只需要加一个计数的变量就行了,这里是errortimes。当error times达到三次,就中值循环。灵活借鉴,不要生搬硬套。
再说你写的问题:
if username = bizhenwei:
这句是比较的,应该用 == 而键蔽不是 = 也即if username == bizhenwei:
else:
print"repeat!"
这里print前缺少缩进。print后缺少空格。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)