简单的登陆
要求:
1.用户名输错3次,系统退出
2.密码输错3次,账号被禁用
3.使用文件操作知识
流程图:
项目代码:
1 def login(): 2 i=0 3 while i <3 : 4 name = input("username:") 5 password = input('password:') 6 name_txt=open('uname.txt','r') 7 for line in name_txt.readlines(): #循环用户文件 8 (uname,passwd,lock) = line.strip('\n').split()#提取用户名,密码,跟锁信息 9 if uname == name: 10 if lock == 'true': 11 f = 0 12 while f < 3: 13 if passwd != password: 14 if f == 2: 15 print('账号/密码错误过多,账号已被锁定,请联系管理员') 16 old = uname + ' ' + passwd + ' ' + lock + '\n' #组合原来的用户信息 17 new_lock = 'fales' 18 new = uname + ' ' + passwd + ' ' + new_lock + '\n' #组合新的用户信息 19 d_f = open('uname.txt', 'r') 20 d = d_f.read().replace(old, new) #读取旧的用户信息,并替换 21 d_f.close() 22 print(d) 23 g_f = open('uname.txt', 'w+') #以写读方式打开原有文件(如果觉得不保险,可以将老文件备份,写入新的文件中) 24 g = g_f.write(d) #写入新的用户信息到文件 25 g_f.close() 26 name_txt.close() 27 exit(1) 28 else: 29 f += 1 30 print('账号/密码错误,还剩%s次' % (3 - f)) 31 password = input('password:') #让用户重新输入密码 32 else: 33 print('Welcom') #登陆成功 34 name_txt.close() 35 exit(0) 36 # else: 37 # print('账号/密码错误过多,账号已被锁定,请联系管理员') 38 # name_txt.close() 39 # exit(1) 40 else: 41 print('账号已被锁定,请联系管理员') 42 name_txt.close() 43 exit(1) 44 else: 45 pass #按行搜索用户,没有搜索到就PASS让循环继续 46 else: 47 i += 1 48 if i == 3: 49 print("账号/密码错误次数过多,已被锁定,请联系管理员")#账号不存在(防止人刷账号,所以提示为这个) 50 name_txt.close() 51 exit(1) 52 else: 53 print("账号/密码有误,请重新输入") 54 continue 55 if __name__ == '__main__': 56 login()