day01-homeowrk_用户登录界面编写

#! /usr/bin/env/python3
# -*- coding: utf-8 -*-

#编写登录接口,输入正确显示欢迎信息,连续三次输入错误则锁定

class login(object):
    def __init__(self):
        self._database_name=‘log_usrdata.db‘
        self._lockfile_name=‘log_usrlock.db‘
        self.usrdata=[]
        self.lockusr=[]
        self._ncount=3
        self.initial()
    #内部初始化操作
    def initial(self):
        self.loaddata()
    #用户执行登录操作
    def usrlog(self,name,password):
        for cur_name in self.get_lockusr():
            if name==cur_name:
                print(‘%s, you are locked. Please retry 30min later.‘% name)
                exit()
        while self._ncount>0:
            cur_check = self.check_usr(name, password)
            if cur_check==0:
                print(‘No data.Can\‘t login.\nPlease register at first.‘)
                break
            elif cur_check==1:
                print(‘Welcome back %s!‘% name)
                break
            else :
                self._ncount-=1
                print(‘You have a wrong usrname or password. Please check it.‘)
                if self._ncount==0:
                    self.set_lockusr(name)
                    break
                name=input(‘Please input your name:‘)
                password=input(‘Please input your password:‘)

        #读取用户数据
    def loaddata(self):
        with open(‘log_usrdata.db‘) as f:
            for line in f.readlines():
                self.usrdata.append(line.split())
        with open(‘log_usrlock.db‘) as f:
            for line in f.readlines():
                self.lockusr.append(line)
    #新用户注册
    def register(self,name,password):
        if self.get_usrdata()==[]:
            self.loaddata()
        with open(‘log_usrdata.db‘) as f:
            f.writelines([str(name),str(password)])
    #返回用户数据
    def get_usrdata(self):
        return self.usrdata
    #返回锁定用户
    def get_lockusr(self):
        return self.lockusr
    #设定锁定用户
    def set_lockusr(self,name):
        with open(‘log_usrlock.db‘,‘w‘) as f:
            f.writelines(str(name))
        print(‘%s, you are locked. Please retry 30min later.‘% name)

    #检查用户名文件是否为空
    def check_file(self):
        cur_usrdata=self.get_usrdata()
        if cur_usrdata==[]:
            self.loaddata()
            cur_usrdata=self.get_usrdata()
        #用户为空文件
        if cur_usrdata==[]:
            return 1
        else:
            return 0
    #检查用户与密码
    def check_usr(self,name,password):
        if self.check_file():
            return 0
        for data in self.get_usrdata():
            if data[0]==str(name) and data[1]==str(password):
                return 1
            elif data[0]==str(name) and data[1]!=str(password):
                return 2
            else:
                return 3
mylog=login()
mylog.usrlog(‘test123‘,‘test1‘)
时间: 2024-08-24 16:37:07

day01-homeowrk_用户登录界面编写的相关文章

很漂亮的用户登录界面HTML模板

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" /><title>很漂亮的用户登录界面HTML模板-柯乐义</title><base target="_blank" /><style>*{padding:0px;margin:0p

Android 用户登录界面

黑色10分钟,winxp和QQ账号全军覆灭 最近一朋友忘记QQ密码,听说可以自己找回,就上网去找,看到有QQ密码破解工具,就下载,浏览器提示软件不安全,但是为了找回密码,我按了运行,然后下载了QQ账号密码破解工具,运行,提示说账号没找到.我又下载一个破解工具,还是没有用. 于是我用另一个QQ账号登陆,提示密码错误.我觉得奇怪,这个QQ账号密码没有忘记的.跑到另一台机器登陆也是提示不能登陆,查找原因是密码被改动了.我想,难道运行破解工具盗取了QQ账号然后就修改密码?于是用另外一个QQ账号登陆,谢天

jQuery和CSS3炫酷GOOGLE样式的用户登录界面

这是一款使用jQuery和CSS3打造的GOOGLE样式的用户登录界面特效.该登录界面特效中,右上角的小问号和错误提示小图标使用SVG来制作,用户名和密码输入框采用浮动标签特效,可点击的按钮上使用了很酷的点击波特效. 整个登录界面简洁大方,互动性很强. 在线演示:http://www.htmleaf.com/Demo/201503131515.html 下载地址:http://www.htmleaf.com/jQuery/Form/201503131514.html

C#: 用户登录界面设计

1. 在主界面loading的时候创建一个dictionary,从用户文件中加载用户信息 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 usi

编写简单的用户登录界面

//1.如果用户名和密码不填写 //弹出消息对话框提示进行输入用户名和密码 //2.如果填写了用户名和密码 //(1).如果用户名和密码的填写都是admin弹出消息对话框,提示登陆成功 //(2).如果用户名和密码的填写的两个都不是admin弹出对话框提示登录名或密码错误 import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax

场景分析:用户登录界面场景分析

功能点:用户登录软件 名字:小二子 年龄:19岁 收入:暂无 代表的用户在市场上的比例和重要性:比例较大,重要(我们的组队app的受众更可能是一些敢于尝试而又尚且没有为生活劳碌奔波的年轻人). 典型场景:人们打开我们的组队app软件,首先会遇到注册或者登录(已经注册过)的问题.那么就会涉及到用户名.密码的录入规则的限制,一个不友好的登录或者注册界面很可能会让用户失去耐心从而放弃使用我们的软件. 使用本软件的环境:因为大学放寒暑假了待在家里闷得发霉,因此想通过一些便捷的途径快速找到可以一起出行游走

Qt 用户登录界面

 使用QT创建自己的登录窗口: 主要步骤:    1.窗口界面的绘制     2.沟通数据库进行密码验证 void MainWindow::on_pushButton_clicked() { // 连接数据库 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("D:/TEST/passwd"); if(!db.open()){ QMessageBox::informa

用户登录界面(1.8版本--网站框架改进)

1 CREATE DATABASE db_user CHARACTER SET utf8; 2 3 CREATE TABLE users ( 4 userid TINYINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, 5 username varchar(20), 6 passwd varchar(20), 7 email varchar(30), 8 priority int 9 ); 10 11 DROP TABLE users; 12 13 SELECT *

编写一个jsp程序,实现用户登录,当用户输入的用户或密码错误时,将页面重定向到错误提示也,并在该页面显示30秒后 自动回到用户登录界面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <