用python写一个用户登陆程序

 1 # !/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author:chen hongliang
 4 
 5 i = 0
 6 while i < 3:
 7     user_name = input('请输入用户名:')
 8     lock_file = open('account_lock.txt', 'r+')    # 调用open()函数以读的方式读取用户锁定文件中的信息
 9     lock_list = lock_file.readlines()   # 逐行读取元素到列表中
10 
11     # 判断用户名是否锁定
12     for lock_line in lock_list:
13         if user_name == lock_line.strip('\n'):  # strip()函数用于去除字符串头尾指定的字符串(默认为空格)
14             print('用户 %s 已经锁定,请联系管理员!' % user_name)
15             exit(1)
16 
17     user_file = open('account.txt', 'r')  # 调用open()函数读取用户文件
18     user_list = user_file.readlines()
19 
20     # 判断用户名是否存在
21     for user_line in user_list:
22         (name, password) = user_line.strip('\n').split()   # 先调用strip()函数去掉字符串头尾的'\n'字符,
23         # 再用split()函数将字符串以指定字符(默认是空格)分开,分别获得用户名和密码
24 
25         # 当用户名存在时,有三次输入密码的机会
26         if user_name == name:
27             j = 0
28             while j < 3:
29                 user_password = input('请输入用户密码:')
30                 if user_password == password:
31                     print('%s先生/女士 欢迎您登陆系统!' % user_name)
32                     exit(0)
33 
34                 # 当密码不正确时,进行提示剩余输入机会
35                 if j != 2:
36                     print('您的密码输入错误,您还有%d次机会,请重新输入! ' % (2-j))
37 
38                 j += 1
39 
40             # while循环执行结束(即密码三次输入错误)则用户锁定,将用户名添加到account_lock.txt文件中
41             else:
42                 lock_file.write(user_name + '\n')
43                 print('密码输入错误,用户%s已锁定' % user_name)
44                 exit(1)
45 
46         else:
47             pass
48 
49     # 当for循环一直执行完(即用户名不存在时)
50     else:
51         if i != 2:
52             print('用户名输入错误,您还剩%d次机会,请重新输入!' % (2-i))
53 
54         i += 1
55 
56 lock_file.close()
57 user_file.close()

猜你喜欢

转载自www.cnblogs.com/chl07-25/p/9788430.html