zoukankan      html  css  js  c++  java
  • python学习之自动化开发-DAY1作业-登陆程序

    这个是再老男孩教育视频学习的day1课程,主要锻炼下字典的操作,以及文件的创建和读取等,代码如下:

     1 #!/use/bin/env python
     2 #_*_ coding:utf-8 _*_
     3 '''
     4 定义一个用户名密码文件,如果输入的用户名及密码符合用户名密码文件,那么,允许登陆;
     5 否则,打印用户名密码错误,如果,重复登陆同一用户名3次,则把此用户名锁定,不允许再登陆。
     6 '''
     7 #usr_book={'admin':'123456','frank':'1126'}
     8 with open('usr_book.txt','r') as f:
     9     usr_book={}
    10     for line in f:
    11         #print(line)
    12         k,v=line.split()
    13         #print(k,v)
    14         usr_book[k]=v
    15     print(usr_book)
    16 lock_name=[]
    17 try:
    18     for line in open('usr_lock.txt'):
    19         #print(line.strip())
    20         if line not in lock_name:
    21             lock_name.append(line.strip())
    22 except:
    23     print('')
    24 print(lock_name)
    25 usr_lock={}
    26 exit=False
    27 
    28 while True:
    29     exit = input('press "e"to exit,press anykey to continue:')
    30     if exit=='e' or exit=='E':
    31         break
    32     else:
    33         usr_name=input('Please input your user name 
    ')
    34         usr_code=input('Please input your user password
    ')
    35         if usr_name in usr_book.keys() and usr_code==usr_book[usr_name]:
    36             print('Welcome Land,%s'%usr_name)
    37             break
    38         elif usr_name in lock_name or usr_lock.get(usr_name,0)>=2:
    39             lock_name.append(usr_name)
    40             print('Sorry,this user has been locked! Please try another')
    41         else:
    42             usr_lock[usr_name]=usr_lock.get(usr_name,0)+1
    43             print('Sorry,invalid user name or password')
    44 print(lock_name)
    45 f=open('usr_lock.txt','w')
    46 f.write('
    '.join(lock_name))
    47 f.close()

     2018-04-12:更新了一下代码,先判断用户名,如果用户名已被锁定,直接打印用户名锁定信息;否则再判断密码,代码如下:

     1 #!/use/bin/env python
     2 #_*_ coding:utf-8 _*_
     3 '''
     4 定义一个用户名密码文件,如果输入的用户名及密码符合用户名密码文件,那么,允许登陆;
     5 否则,打印用户名密码错误,如果,重复登陆同一用户名3次,则把此用户名锁定,不允许再登陆。
     6 '''
     7 #usr_book={'admin':'123456','frank':'1126'}
     8 with open('usr_book.txt','r') as f:
     9     usr_book={}
    10     for line in f:
    11         #print(line)
    12         k,v=line.split()
    13         #print(k,v)
    14         usr_book[k]=v
    15     print(usr_book)
    16 lock_name=[]
    17 try:
    18     for line in open('usr_lock.txt'):
    19         #print(line.strip())
    20         if line not in lock_name:
    21             lock_name.append(line.strip())
    22 except:
    23     print('')
    24 #print(lock_name)
    25 usr_lock={}
    26 exit=False
    27 
    28 while True:
    29     exit = input('press "e"to exit,press anykey to continue:')
    30     if exit=='e' or exit=='E':
    31         break
    32     else:
    33         usr_name=input('Please input your user name 
    ')
    34         if usr_name in usr_book.keys():
    35             usr_code=input('Please input your user password
    ')
    36             if usr_code==usr_book[usr_name]:
    37                 print('Welcome Land,%s'%usr_name)
    38                 break
    39             else:
    40                 print('Sorry,invalid code!')
    41         elif usr_name in lock_name:
    42             print('Sorry,this user has been locked! Please try another')
    43         elif usr_lock.get(usr_name,0)>=2:
    44             lock_name.append(usr_name)
    45             print('Sorry,this user has been locked! Please try another')
    46         else:
    47             usr_lock[usr_name]=usr_lock.get(usr_name,0)+1
    48             print('Sorry,invalid user name or password')
    49 #print(lock_name)
    50 f=open('usr_lock.txt','w')
    51 f.write('
    '.join(lock_name))
    52 f.close()
  • 相关阅读:
    给Lisp程序员的Python简介
    QuickLisp常用命令
    修改windows cmd字体
    Eclipse生成JavaDoc时指定字符集, 避免页面乱码
    css颜色名
    css3动画
    使用placeholder实现动态配置persistence.xml
    spring下配置tomcat jdbc pool 报找不到"com.mysql.jdbc.Driver"类
    去除移动端浏览器点击元素时的边框
    JS经典闭包问题
  • 原文地址:https://www.cnblogs.com/frank1126lin/p/8797534.html
Copyright © 2011-2022 走看看