day1作业一:编写登陆接口

(野生程序员) (野生程序员)     2022-08-30     479

关键词:

    作业一:编写登陆接口 

    1.输入用户名和密码

    2.认证成功后显示欢迎信息

    3.输错三次后锁定

Readme:

    (1)提示用户输入用户名;

    (2)用户名验证,验证是否已经锁定;

    (3)是否锁定:已锁定告诉用户,输入的用户名已经锁定,找管理员联系;未锁定就验证是否注册;

  (4)是否注册:未注册就提示用户,这个用户名还没有注册,需要注册;注册就让用户输入密码;

  (5)输入密码:输入正确就欢迎用户,输入不正常就三次机会,提示用户输入,三次之后将锁定

  (6)锁定用户从登录用户文件中移除并添加到锁定用户文件。

流程图如下:

 

def islocked(username):
    #验证用户是否锁定,如果锁定,就打印锁定,否则执行登录模块
    with open("lock_user","r") as f:   #打开文件,进行验证
        users = []                     #定义一个空的列表,用于存储用户名
        lines = f.readlines()          #由于是读取的文件信息,需要把用户信息放到一个列表中容易操作
        for line in lines:
            users.append(line.strip().split(":")[0])       #生成一个包含所有用户名的列表
        if username in users:
            #验证用户输入的用户名是否在系统用户列表中,存在则提示用户已经锁定了
            print("你输入的用户名%s已经被锁定,请联系管理员" %username)
            exit()

        else:
            #不存在则验证是否注册
            isregister(username)

def isregister(username):
    #验证用户是否注册
    with open("user_list",'r') as f_object:
        #打开文件,生成用户列表
        register_users =[]
        user_lines = f_object.readlines()
        for user_line in user_lines:
            register_users.append(user_line.strip().split(":")[0])
        if username in register_users:
            #验证用户是否注册,注册了就跳过
            pass
        else:
            #没有注册提示用户这个用户名没有注册,并退出循环
            print("Sorry,%s还没有注册,请注册之后登录" %username)
            exit()

def userpassword():
    #让用户输入用户密码,并返回给调用函数
    password = input("Please input your password:")
    return password

def login(username):
    #用户登录模块
    i = 0
    islocked(username)
    #验证用户是否锁定是否注册
    with open("user_list","r") as f1:
        dic = {}      #定义空字典,生成用户名,密码配对字典
        user_lines = f1.readlines()
        for user_line in user_lines:
            #生成用户名-密码字典
            (user,user_password) = user_line.strip().split(":")
            dic[user] = user_password
        while i < 3:
            #用户有三次机会输入密码验证
            password = userpassword()
            #调用函数让用户输入密码
            if dic[username] == password:
                #用户输入的密码与系统存储的密码比较,如果一致登录成功就退出登录页面
                print("Hello %s,welcome to back." %username)
                break
            else:
                #不成功提示用户有三次机会,如果三次都不成功,将锁定用户名
                if i != 2:
                    print("对不起,你输入的密码不对,你还有%s次机会" %(2-i))
                    i += 1
                else:
                    print("对不起,你输入的次数过多,你的用户名已经被锁定,请联系管理员")
                    add_locked_user(username)
                    #输入次数过多,把用户名从文件user_list中删除,同时添加到锁定文件lock_user
                    break

def add_locked_user(username):
    #锁定输入密码次数过多用户名
    with open("user_list","r") as file:
        #打开文件,并查找要锁定用户名的位置
        lines = file.readlines()      #逐行读取文件生成一个列表
        users = []                    #定义一个空的列表,借助用户名列表找到用户名位置
        for line in lines:
            users.append(line.strip().split(":")[0])
        num = users.index(username)          #找到锁定问户名在列表中索引
    with open("lock_user","a") as f:
        #将待锁定的用户名添加到锁定文件
        f.write("%s\n" %lines[num])
    with open("user_list","w") as f_object:
        #以只读模式打开文件
        del lines[num]          #删除锁定用户的用户名
        f_object.writelines(lines)       #把剩下用户逐行读取到文件中

login(username=input("Please input your username:"))

 

    上面代码运行需要创建两个文件在同级目录,lock_user和user_list,在里面使用了列表、字典等功能,list列表、字典功能最常用,要经常尝试使用空字典、空列表的功能,writelines(),readlines()。上面代码可以实现判断用户输入的用户名是否在锁定列表中,是否在登录的列表中,并且能够实现登录三次锁定的功能。

day1作业:登录接口

   作业一:编写登陆接口    1.输入用户名和密码   2.认证成功后显示欢迎信息   3.输错三次后锁定   思路:   (1)用户输入用户名;  (2)去锁定文件中... 查看详情

day1作业--登录接口

作业:编写登陆接口输入用户名密码认证成功后显示欢迎信息输错三次后锁定   知识:   1.循环的使用;  2.continue,break在循环中中断的作用;  3.文件的写入,读取;  4.各基础知识的穿插应用 &n... 查看详情

day1作业---登录接口及多级菜单

作业一:编写登录接口输入用户密码认证成功后显示欢迎信息输错三次后锁定作业二:多级菜单三级菜单可一次选择进入各子菜单所需新知识点:列表、字典 查看详情

day1作业编写登录窗口

作业一:编写登录接口   (1)输入用户名和密码;  (2)认证成功后显示欢迎信息;  (3)输错三次后锁定。   思路:我们知道,要想让程序记住之前输入多少次,锁定用户,那么可以使用数据库来... 查看详情

day1-作业

编写登陆接口输入用户名密码认证成功后显示欢迎信息输错三次后锁定代码如下:#!/usr/bin/envpython#-*-coding:utf-8-*-count=0name="hx"passwd="123"f=open(‘user_black‘,‘r‘)lock_file=f.read()f.close()name=input("请输入用户名:")foriinrange(1):iflock_fil 查看详情

day1-作业2

作业二:编写登陆接口输入用户名密码认证成功后显示欢迎信息输错三次后锁定编程思想:1.先初始化需要的值2.写主程序逻辑,判断账号密码3次记录黑名单,并锁定3.读取黑名单并判断是否输入为黑名单用户#!/usr/bin/envpython#-*-co... 查看详情

day1:作业编写登录接口并画出相应的流程图

作业要求:1.输入用户名密码2.认证成功后显示欢迎信息3.输错三次后锁定代码如下_user_list=[]_user_dict={}_login_error_count=0whileTrue:user_naming=input(‘Plassinputyourname:‘)user_password=input(‘Plassinputyourpassword:‘)user_data=open(‘Us 查看详情

老男孩作业day1—用户登陆(代码片段)

跟着老男孩培训写的第一次作业需求:1、用户可以通过用户名和密码登陆;2、密码输入错误三次后即锁定用户3、把用户名、密码、锁定后的用户放在文件里4、如果没有该用户提示还没有注册5、使用锁定的用户登陆会提示此用... 查看详情

编写登陆接口

#作业:编写登陆接口##基础需求:##让用户输入用户名密码#认证成功后显示欢迎信息#输错三次后退出程序dic={‘egon1‘:{‘password‘:‘123‘,‘count‘:0},‘egon2‘:{‘password‘:‘123‘,‘count‘:0},‘egon3‘:{‘password‘:‘123‘,‘count‘:... 查看详情

老男孩day1作业二

作业内容:(1)编写登录接口(2)认证成功后显示欢迎信息(3)输错三次锁定 以下为代码,分为两个部分的代码,一是register.py,另一个是login.py;其中register.py实现的注册功能,客户可输入用户名密码,用户名密码保存在... 查看详情

day1(代码片段)

作业1编写登录接口?输入用户名密码?认证成功后显示欢迎信息?输错三次后锁定---思路:用户信息文件、密码文件、检测用户名,是否让登录用户名密码判定 作业2多级菜单市区县?三级菜单?可依次选择进入各子菜单?所需新知... 查看详情

day1作业:编写登录窗口一个文件实现

   思路:   1、参考模型,这个作业我参考了linux的登录认证流程以及结合网上银行支付宝等锁定规则;    1)认证流程参考的是Linux的登录:当你输入完用户名密码后再验证用户名是否存在用... 查看详情

day1:编写登入接口

输入用户名密码;登入成功后提示欢迎信息;三次登入失败后锁定。编写如下:#Author:EwanWangforiinrange(3):username=input("username:")password=input("password:")ifusername=="Wang"andpassword=="123":print("Welcometothenewworld!")breakelse:pri 查看详情

day1_17-9-3

一、应用练习1.需求练习编写登陆接口要求:让用户输入用户名密码认证成功后显示欢迎信息输错三次后退出程序#!/usr/bin/envpython#coding:utf-8time=0data={‘zhangsan‘:{‘ps‘:‘zs123‘},‘lisi‘:{‘ps‘:‘ls123‘},}whiletime<3:name=input(‘请... 查看详情

beta冲刺--day1

这个作业属于哪个课程2021春软件工程实践S班这个作业要求在哪里团队作业六——Beta冲刺+事后诸葛亮这个作业的目标Beta冲刺文档SCRUM成员冲刺描述成员昨日完成存在问题问题解决方案或描述下一日冲刺安排ZLX安排完善前后端对... 查看详情

团队作业4——第一次项目冲刺(alpha版本)day1

小队@JMUZJB-集美震惊部一、DailyScrumMeeting照片二、BurndownChart燃尽图三、项目进展1.界面屏幕开发中,原型设计完毕。2.服务器服务器由学校提供,后台逻辑已有。新的数据表已经建好。3.PM任务耗时由一星期升到一星期半。四、问... 查看详情

团队作业4——第一次项目冲刺(alpha版本)day1

小队@JMUZJB-集美震惊部一、DailyScrumMeeting照片二、BurndownChart燃尽图三、项目进展1.界面屏幕开发中,原型设计完毕。2.服务器服务器由学校提供,后台逻辑已有。新的数据表已经建好。3.PM任务耗时由一星期升到一星期半。四、问... 查看详情

day1作业要求

Day1作业作业需求博客模拟登录三级菜单博客地址杨振伟Day1博客地址模拟登录1.程序说明实现功能如下用户输入密码,密码验证后登录成功用户登录成功后提示登录信息用户输入3次错误密码后锁定2.程序测试账号测试账号:admin测... 查看详情