用Python实现的简洁版的用户登录程序

来源:互联网 发布:域名和空间费用 编辑:程序博客网 时间:2024/05/21 10:23

用Python实现的简洁版的用户登录程序

程序结果如下:
这里写图片描述
这里写图片描述

程序如下:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time    : 2017/4/9 12:24# @Author  : Xu Jie# @Site    :# @File    : second.py# @Software: PyCharmauthority = ''        # 文件中用户的权限,'N'为锁定,'Y'为正常username_list = []    # 用户每次输入的用户名列表def is_some_username_more_than_3(username_list):    '''    该函数用来判断参数列表中是否    有哪一个元素的出现次数大于等于3    :param username_list:    :return:返回一个二元元组或者    一个一元元组,第一个为    Boolean型,第二个为出现次数符合的元素    '''    for i in range(len(username_list)):        if username_list.count(username_list[i]) >= 3:            return True, username_list[i]    else:        return False,while not is_some_username_more_than_3(username_list)[0]:    # 当username_list中没有出现3次及以上的元素时保持循环    temp = input("Please input your username \n or 1 for log in or \n 2 for register")    # 用户输入用户名或者1或2    if temp != '2':        username = ''        if temp == '1':      # 用户登录            username = input("Please input your username: ")        else:                # 用户输入了用户名            username = temp        username_list.append(username)     # 将每次的用户名加入到列表中        password = input("Please input your password: ")        f = open("info.txt", 'r')  # readfile        username2 = f.readline().strip('\n')   # 一定要用strip函数,因为默认会有换行符        password2 = ''        while username2:            # 重复读取文件中的每一行,直到文件尾部            password2 = f.readline().strip('\n')            authority = f.readline().strip('\n')            if username == username2 and password == password2:                # 遇到相等的,跳出循环                f.close()                break            username2 = f.readline()        else:            print("username or password wrong!")        f.close()        if username == username2 and password == password2:            # 遇到相等的就要检查该用户是否被锁住了            if authority == 'Y':                print("successfully log in")                break            elif authority == 'N':                print("Your account was locked by manager")                break    else:    # 注册用户        print("You are register now!!!")        username = input("Please input your username: ")        password = input("Please input your password: ")        f = open("info.txt", 'a')  # readfile        f.write(username+'\n')        f.write(password+'\n')        f.write('Y\n')        f.close()        breakelse:   # 超过三次,非正常退出,需要检查是否有该用户,如有则锁定该用户,没有则退出    print('lock!!!!!!!!!!!!')    username_more_than_3 = is_some_username_more_than_3(username_list)[1]    f = open("info.txt", 'r')    text = f.read()    info = text.split()    f.close()    for i in range(0, len(info), 3):        if username_more_than_3 == info[i]:            info[i+2] = 'N'            f = open("info.txt", 'w')            for j in range(0, len(info)):                f.write(info[j]+'\n')            f.close()            break    else:        print("username was not known")
0 0
原创粉丝点击