python登陆系统

源代码:

#coding:utf-8
import tkinter as tk
import sys
import random

home_login=tk.Tk()#登录界面
home_login.title("用户登录")
home_account=tk.Label(home_login,text="账号:")#账号输入
home_account.grid(row=0)
home_accounting=tk.Entry(home_login)
home_accounting.grid(row=0,column=1,padx=15,pady=10)
home_secret=tk.Label(home_login,text="密码")#密码输入
home_secret.grid(row=1)
home_secrets=tk.Entry(home_login,show='*')
home_secrets.grid(row=1,column=1,padx=15,pady=10)

def go_in():#登录信息验证
    account=home_accounting.get()#账号
    secret=home_secrets.get()#密码
    if len(account)==0 or len(secret)==0:
        warn_in=tk.Tk()
        warn_in.title("警告")
        warn_main=tk.Label(warn_in,text="输入不可为空")
        warn_main.grid(row=0)
        warn_s=tk.Button(warn_in,text="确定",command=warn_in.destroy)
        warn_s.grid(row=1)
        warn_in.mainloop()
        return 0    
    sex=0
    f=open("users.txt","r",encoding='utf-8')
    while True:
        line=f.readline().split()
        if line==[]:
            break
        if line[1]==account and secret==line[2]:
            sex=sex+1
            print(line)
    f.close()
    if sex==1:
        warn_in=tk.Tk()
        warning=tk.Label(warn_in,text="登陆成功")
        warning.grid(row=0)
        warning_in=tk.Button(warn_in,text="确定",command=warn_in.quit)
        warning_in.grid(row=1)
    else:
        warn_in=tk.Tk()
        warning=tk.Label(warn_in,text="账号或者密码有误,请重新输入")
        warning.grid(row=0)
        warning_in=tk.Button(warn_in,text="确定",command=warn_in.destroy)
        warning_in.grid(row=1)
        warn_in.mainloop()

def go_get():#注册界面
    def warn_getting():
        a1=[];a2=[];a3=[]
        name=home_getname.get()
        secret=home_getsecret.get()
        if len(name)==0 or len(secret)==0:
            warn_get=tk.Tk()
            warn_get.title("警告")
            warn_main=tk.Label(warn_get,text="输入不可为空")
            warn_main.grid(row=0)
            warn_s=tk.Button(warn_get,text="确定",command=warn_get.destroy)
            warn_s.grid(row=1)
            warn_get.mainloop()
            return 0    
        f=open("users.txt","r",encoding='utf-8')
        while True:
            line=f.readline().split()
            if line==[]:
                break
            a1.append(line[0])#名字集合
            a2.append(line[1])#账号集合
            a3.append(line[2])#密码集合
        f.close()
        for i in a1:
            if i==name:
                warn_get=tk.Tk()
                warn_get.title("警告")
                warn_main=tk.Label(warn_get,text="用户名重复,请重新输入")
                warn_main.grid(row=0)
                warn_s=tk.Button(warn_get,text="确定",command=warn_get.destroy)
                warn_s.grid(row=1)
                warn_get.mainloop()
                return 0
        num=0#账号设置
        for i in a2:
            num=random.randint(10000,10000000000)#账号生成
            sex=0
            for x in a2:
                if num==x:
                    sex=sex+1
            if sex!=0:
                break 
        file=open("users.txt","a",encoding='utf-8')
        file.write("\n{} {} {}".format(name,num,secret))  
        file.close()
        cc=tk.Tk()#告诉用户注册成功
        def g():
            cc.destroy()
            home_get.destroy()
        cc_text=tk.Label(cc,text="恭喜注册成功!")
        cc_text.grid(row=0)
        cc_message1=tk.Label(cc,text="用户名:{}".format(name))
        cc_message1.grid(row=1)
        cc_message2=tk.Label(cc,text="账号:{}".format(num))
        cc_message2.grid(row=2)
        cc_in=tk.Button(cc,text="确定",command=g)
        cc_in.grid(row=3)
        cc.mainloop()
    home_get=tk.Tk()
    home_get.title("注册")
    home_get_name=tk.Label(home_get,text="请输入一个用户名")
    home_get_name.grid(row=0)
    home_getname=tk.Entry(home_get)
    home_getname.grid(row=0,column=1,padx=15,pady=10)
    home_get_secret=tk.Label(home_get,text="请设置您的密码")
    home_get_secret.grid(row=1)
    home_getsecret=tk.Entry(home_get,show='*')
    home_getsecret.grid(row=1,column=1,padx=15,pady=10)
    home_get_in=tk.Button(home_get,text="确定",command=warn_getting)
    home_get_in.grid(row=2,column=1,padx=15,pady=10)
    home_get.mainloop()


home_in=tk.Button(home_login,text="登录",command=go_in)#登录入口
home_in.grid(row=2,column=1,padx=10,pady=10)
home_get=tk.Button(home_login,text="注册",command=go_get)#注册入口
home_get.grid(row=3,column=1,padx=10,pady=0)


home_login.mainloop()

users.txt是储存账号名、账号以及密码的文件


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值