zoukankan      html  css  js  c++  java
  • python练习--1、简易登录接口

    function:用于实现简单的用户登录接口。

    description:用户信息存储于字典中,增加用户需手动写入代码中。最多可以尝试登录9次,首次使用会先在程序目录下创建锁文件。若在用户栏输入quit则退出程序。
    输入用户,首先根据锁文件中存储用户来判断用户是否被锁,锁了则重新循环输入用户。未被锁则继续输入密码,密码正确会打印消息并退出,错误则对该用户尝试次数+1。
    用户的密码错误三次后会被写入锁文件中并退出程序。

    source code 如下:

    #/usr/bin/env python
    # -*- coding:utf-8 -*-

    import os

    user_dic = {
    'jyd' : {'password': 'abc', 'count': 0},
    'test': {'password': 'test', 'count': 0}
    }
    if not os.path.isfile('lock'):
    open('lock','w').close()
    total_error = 0
    print("Exit from the username and enter : quit")
    while total_error < 9 :
    user = input('username-->:')
    if user == 'quit':
    break
    if user in user_dic.keys():
    #看锁文件中是否有该用户,若有则被锁并重定义lock_u为yes,再跳出锁判断循环。根据lock_u的值确定用户是否被锁。
    lock = open('lock', 'r')
    for lock_u in lock.read().split(' '):
    if user == lock_u :
    print('User %s is in a locked state' %user)
    lock_u = 'yes'
    break
    lock.close()
    if lock_u == 'yes': continue
    passwd = input('password-->:')
    if passwd == user_dic[user]['password']:
    print('Login successfully!')
    break
    else:
    print('Password error')
    if user_dic[user]['count'] < 3:
    user_dic[user]['count'] += 1
    else:
    lock = open('lock', 'a')
    lock.write(user+' ')
    print('User %s has been locked' %user)
    break
    else:
    print('Username does not exist.')
    total_error+=1

  • 相关阅读:
    python基础-网络编程part01
    常见的加密算法
    mvn常用命令
    Stream排序Map集合
    解决浮点运算精度不准确,BigDecimal 加减乘除
    阿里fastjson解析
    java可变参数
    set集合迭代
    包装类型间的相等判断
    java集合与数组之间转换
  • 原文地址:https://www.cnblogs.com/jinyudong/p/7496004.html
Copyright © 2011-2022 走看看