用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
- 用Python实现的简洁版的用户登录程序
- 用Python写一段用户登录的程序
- 学习python——python实现简单的用户登录
- python实现的简单用户注册登录系统
- Python 实现简单的用户注册和登录
- python-简单的用户与密码登录模块实现
- 用户登录程序实现
- 简洁的python
- 实现用PHP程序登录163邮箱并取得当前用户的通讯录列表
- python-用户登录小程序
- 微信小程序中做用户登录与登录态维护的实现详解
- 简洁的单链表实现
- strcpy()的简洁实现
- java用户登录的小小程序
- 基于数据库的C#用户登录程序
- 基于MVC的用户登录程序
- 程序中调用当前登录的用户
- 用python连接数据库,实现用户注册和用户登录
- Unity3D 场景渲染到Cubemap 插件
- 通过jQuery Ajax使用FormData对象上传文件
- Final关键字
- Java学习笔记代码
- JZOJ1249.【USACO题库】1.3.4 Prime Cryptarithm牛式
- 用Python实现的简洁版的用户登录程序
- ACM 大数问题函数及应用
- 2017-4-20
- python web 部署:nginx + gunicorn + supervisor + flask 部署笔记
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- 如何评价 2017 年 3 月发布的 Android O 预览版?
- 父类 子类 动态代码块 静态代码块 构造函数 执行顺序
- 架构师之路--线程
- form表单中的encType属性