zoukankan      html  css  js  c++  java
  • python之简单登陆

    简单的登陆

    要求:

    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('
    ').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 + '
    '      #组合原来的用户信息
    17                                 new_lock = 'fales'
    18                                 new = uname + ' ' + passwd + ' ' + new_lock + '
    '  #组合新的用户信息
    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()
    简单登陆
  • 相关阅读:
    Swift 对AFN框架的封装
    iOS开发中静态库制作 之.a静态库制作及使用篇
    iOS 地图定位及大头针的基本使用
    swt中改变树的字体及颜色的实现
    为什么很多程序员选择跳槽?
    用SWT做圆形控件
    JAVA简单编码规则
    swt中改变表格字体大小及颜色的实现
    使用JAVA的反射机制反射带有数组参数的私有方法
    我的GIT使用经历
  • 原文地址:https://www.cnblogs.com/spykids/p/7491870.html
Copyright © 2011-2022 走看看