python学习之路——第三弹 (作业篇第一题)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习之路——第三弹 (作业篇第一题)相关的知识,希望对你有一定的参考价值。

作业一:编写登录接口
1.输入用户名密码
2.认证成功后显示欢迎信息
3.输错三次后锁定。

所需知识点 文件基本读写操作,循环,列表,字典

 

上面的作业题是在学习完数据类型和简单的文件操作之后布置的,所以这个时间节点需要利用已有的知识完成。

作业一思路:

  输入用户名密码----输入用raw_input--有个地方存储了用户名和密码,并且用户名密码一一对应--字典或者文件

  输错三次后锁定--三次用循环--锁定用存储用户名的方式--列表,字典,文件

  成功错误--判断

所以整体代码设计如下 :

  

#/usr/bin/env python
#coding:utf-8

‘‘‘
    1.输入用户名密码
    2.认证成功后显示欢迎信息
    3.输错三次后锁定
‘‘‘

#输入用户名密码
while True:
    #获取所有用户名和其密码
    userDict = {}
    with open(userLogin.txt,r) as f:
        for line in f.readlines():
            L = line.strip(\\n).split(,)
            userDict[L[0]] = L[1]

    #获取所有被锁定用户名
    userList = []
    with open(blackList.txt,r) as f:
        for line in f.readlines():
            userList.append(line.strip(\\n))
        
        
    name = raw_input(用户名 >>).strip()
    passwd = raw_input(密码 >>).strip()
    
    if name in userList:
        print(这个账号被锁定了,请换个账号重新登录)
        continue
    else:
        if name not in userDict.keys():
            print(用户名不存在,请重新输入账号和密码)
            continue
        else:
            i = 1
            while i <= 4:
                if userDict[name] == passwd:
                    print("欢迎登录,%s"%name)
                    break
                elif i < 4:
                    passwd = raw_input(请重新输入密码,您还有%d次机会>>%(4-i)).strip()
                    i += 1
                if i ==4:
                    print(密码输入错误超过3次,您的账号已经被锁定了,请重新启动程序)
                    #用户账号加入锁定文件中
                    with open(blackList.txt,a+) as f:
                        f.writelines(name+\\n)
                    break
                    
            break
            
    

这样文件菜单目录结构如下

技术分享

文件样例:

用户名密码文件内容:

xjw,1517
zjl,1516
gl,1515
xrf,1518

黑名单文件:

xjw
gl

以上就基本实现了登录的用户交互的界面,因为中间还没涉及到类和方法,所以代码有点冗余,希望之后在学习之后再做改进!

 

  








以上是关于python学习之路——第三弹 (作业篇第一题)的主要内容,如果未能解决你的问题,请参考以下文章

爬虫学习 Python网络爬虫第三弹《爬取get请求的页面数据》

0算法基础学算法 搜索篇第二讲 BFS广度优先搜索的思想

Python学习笔记——进阶篇第八周———FTP断点续传作业&批量主机管理工具

Python学习笔记——基础篇第七周———FTP作业(面向对象编程进阶 & Socket编程基础)

2021年人工神经网络第三次作业-第一题-参考答案

最强面试题整理第三弹:Python 后台开发面试题(附答案)