作业一:编写登录接口
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
以上就基本实现了登录的用户交互的界面,因为中间还没涉及到类和方法,所以代码有点冗余,希望之后在学习之后再做改进!
时间: 2024-10-14 10:58:11