zoukankan      html  css  js  c++  java
  • python之用户登陆作业

    实现一个用户登陆的小程序,如果密码错误,可以重试三次,如果三次均错误,则锁定

    数据库如下格式,分别用户名|密码|锁定,其中锁定字段0为正常,1为被锁定

    root|admin123|0
    admin|admin123|1
    Cevin|admin123|0

    代码如下

    username = input("please input your username:")
    file_db = open('db','r',encoding='utf-8')
    file = open('db','r',encoding='utf-8')
    test_list = []
    for line in file:
        f = line.strip().split('|')
        test_list.append(f[0])
    file.close()
    if username in test_list:
        for line in file_db:
            list_db = line.strip().split('|')
            if list_db[0] == username and list_db[2] == '0':
                password = input("please input your password:")
                if list_db[1] == password:
                    print('welcome %s login.' %(username))
                    break
                else:
                    print("password is error")
                    for i in range(4):
                        if i == 3:
                            print("%s is already locked" % (username))
                            file_db = open('db','r',encoding='utf-8')
                            file_new_db = open('new-db','w',encoding='utf-8')
                            for line in file_db:
                                if username in line:
                                    test_list = line.strip().split('|')
                                    file_new_db.write(test_list[0]+ '|' + test_list[1] +'|' + '1' + '
    ')
                                else:
                                    file_new_db.write(line)
                            file_new_db.close()
                            file_db.close()
                            break
                        else:
                            option = input("do you want do to tyr?")
                            if option == 'no':
                                print("ByeBye")
                                break
                            else:
                                password = input("please input your password:")
                                if list_db[1] == password:
                                    print("yes,you have already login success!")
                                    break
                                else:
                                    print("password is error")
            elif list_db[0] == username and list_db[2] == '1':
                  print("%s is already locked" %(username))
                  break
            else:
                pass
    else:
        print("%s is not register" %(username))
  • 相关阅读:
    epoll 使用详解
    STL 较详尽总结
    可视化对比排序算法
    统治世界的十大算法
    Vector Demo
    Git远程操作(附重要原理图)
    Wireshark(五):TCP窗口与拥塞处理
    Wireshark(四):网络性能排查之TCP重传与重复ACK
    Wireshark(三):应用Wireshark IO图形工具分析数据流
    Wireshark(二):应用Wireshark观察基本网络协议
  • 原文地址:https://www.cnblogs.com/bainianminguo/p/6715137.html
Copyright © 2011-2022 走看看