电脑
Python开发工具
建立一个名称为u_info的文件用来存储用户名和密码信息,如图所示文件内容如下:zhangxiaosan-123456 lixi-123456
写登录功能的函数,用def代码创建名称为login的函数,参数为user和pwddef login(user,pwd):
用只读模式打开我们刚刚的文件 u_info,这个文件必须和我们代码文件在同一个目录下,具体代码如下:f = open('u_info',mode='r',encoding='UTF-8')编码格式设置成utf-8,把读取结果放到变量f当中
用for循环逐行读取文件中的内容,代码如下:for line in f:
用if循环做判断,对比传过来的用户名密码参数是否正确,如果一致则返回真,如果不一致则返回假,代码如下:if line.strip() == user+'-'+pwd: f.close() return True else: f.close() return False用strip方法把空行和回车符号去掉,并且在return前关闭打开的文件
上面的函数实现了基本的登录功能,下面我们调用上面的函数,实现次数的控制建立一个记录次数的变量s,设置初始值为0
写while循环,条件为s小于3的时候进入,在循环内用input语句和用户交互,提示输入用户名和密码,代码如下:while s < 3: ret = login(input('请输入您的用户名:'),input('请输入您的密码:'))
完善整个判断功能,用if语句判断用户名和密码是否正确,如果正确打印出登录成功,并且跳出整个循环,如果错误则提示登录失败,重新登录。并且把s+1最后如果跳出循环后s=3,那么提示用户登录次数过多,已经锁定代码如下:if login(uname, pwd): print('登录成功') break else: print('登录失败,请重新登录') s+=1 if s ==3: print('登录次数过多,已经锁定')
整体代码总结和运行效果:def login(user,pwd): f = open('u_info',mode='r',encoding='UTF-8') for line in f: if line.strip() == user+'-'+pwd: f.close() return True else: f.close() return False s = 0 while s < 3: ret = login(input('请输入您的用户名:'),input('请输入您的密码:')) if ret: print('登录成功') break else: print('登录失败,请重新登录') s+=1 if s ==3: print('登录次数过多,已经锁定')
Python中注意循环中的tab缩进问题
所有代码格式需要英文格式
f.close()语句关闭文件需要写在返回值的上方
