简单实现一个可以注册、登录、登出的系统
2019-05-10 12:56
267 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38797742/article/details/90056122
简单实现一个可以注册、登录、登出的系统
设计一个拥有注册、登录、退出功能的小程序。
一、接口提供方
(1)使用面向对象思想,将方法封装到某个类中。
(2)创建一个独立的包、模块存放这个类。
(3)提供注册功能:需要输入“手机号码”、“密码”、“确认密码”三个信息。注册完成后提示注册的手机号码。限制手机号码长度11位,不满足则抛出异常给调用方;密码、确认密码长度为6位,不符合则抛出异常给调用方;密码、确认密码不相同,也抛出异常给调用方。
(4)注册信息保存到本地一个文件中。
(5)提供登录功能:登录成功后,提示欢迎登录;账号不存在时、账号或者密码不正确时,抛出异常。
(6)提供退出功能:需要输入用户名,打印xxx退出登录。
(7)自定义多个异常类并继承Exception。以满足上面的不同情况。
二、接口调用方:
调用方是程序入口,它是独立的python文件。主要功能为:
(1)显示欢迎提示:程序运行起来,打印欢迎信息,并打印功能菜单,并提示用户进行的输入选择。输入1执行注册、输入2执行登录、输入3执行退出登录、其他无效输入。
(2)主程序一直在循环运行,等待用户输入。
main.py
from user_class.user import Admin if __name__ == '__main__': user = Admin() while (True): number = input("1:注册,2:登录,3:退出登录:") is_or_no = number.isdigit() if not is_or_no: print('请输入数字!!') else: int_number = int(number) if int_number == 1: print('-------------------注册-------------------') user.regist() elif int_number == 2: print('-------------------登录-------------------') user.login() elif int_number == 3: print('-------------------退出-------------------') user.logout() else: print('请输入正确的数字!!')
# 自定义多个异常类并继承Exception class MyException(Exception): def __init__(self, *args): self.args = args class phone_no(MyException): def __init__(self, args=('请输入11位手机号!!',)): self.args = args class pwd_no(MyException): def __init__(self, args=('请输入六位数字的密码!!',)): self.args = args class unequal(MyException): def __init__(self, args=('请输入相同的密码!!',)): self.args = args class user_no(MyException): def __init__(self, args=('该用户不存在!!',)): self.args = args class pwd_wrong(MyException): def __init__(self, args=('密码错误!!',)): self.args = args # 主要程序 class Admin: # 用户信息 def __init__(self): self.userFile = 'users.txt' # 登录 def login(self): phone = input('请输入手机号:\n') with open(self.userFile, 'r', encoding='utf-8') as user_file: for line in user_file: line = line.strip() line_list = line.split(" ") if line_list[0] == phone: password = input("请输入密码:\n") # 用户手机和密码与数据对应 if line_list[0] == phone and line_list[1] == password: print("欢迎登录!") break elif line_list[0] == phone and line_list[1] != password: # 密码错误 try: # 抛出异常 raise pwd_wrong() except pwd_wrong as msg: # 提示错误信息 print(msg) break elif line_list[0] != phone: # 用户手机号未注册 try: raise user_no() except user_no as msg: print(msg) break # 注册 def regist(self): phone = input('请输入11位手机手机号:\n') if len(phone) != 11: # 不是11位手机号 try: raise phone_no() except phone_no as msg: print(msg) else: with open(self.userFile, 'r', encoding='utf-8') as user_file: for line in user_file: line = line.strip() line_list = line.split(" ") if line_list[0] == phone: print('该用户已经注册,请直接登录!') break else: pwd1 = input("请输入6位密码:\n") if len(pwd1) != 6: # 不是6位密码 try: raise pwd_no() except pwd_no as msg: print(msg) break pwd2 = input("请再次输入6位密码:\n") if len(pwd2) != 6: if len(pwd1) != 6: # 不是6位密码 try: raise pwd_no() except pwd_no as msg: print(msg) break if pwd1 == pwd2: with open(self.userFile, 'a', encoding='utf-8') as f: temp = phone + " " + pwd1 + '\n' f.write(temp) print(phone + '注册成功!') break else: # 两次输入的密码不一致 try: raise unequal() except unequal as msg: print(msg) 3ff7 break # 退出登录 def logout(self): phone = input("请输入需要退出的用户手机号:\n") with open(self.userFile, 'r', encoding='utf-8') as user_file: for line in user_file: line = line.strip() line_list = line.split(" ") if line_list[0] == phone: print("{}退出登录".format(phone)) break else: # 该用户不存在!! try: raise user_no() except user_no as msg: print(msg) break
相关文章推荐
- 吴昊品工程级别软件项目 Round 5 —— 用JavaScript实现一个简单的注册登录系统
- 用html实现一个简单的登录注册模版
- 7. Swift 基于Xmpp和openfire实现一个简单的登录注册
- go语言实现一个简单的登录注册web小程序
- python实现的简单用户注册登录系统
- 【Java】运用JDBC实现一个注册、登录系统的编写
- 第十八天,用dbutil实现一个简单的注册系统
- 用Python连接操作MySQL数据库,做一个简单的用户登录注册系统
- vue_cli下开发一个简单的模块权限系统之建立登录页面并且实现在浏览器输入地址出现内容
- 使用python做一个简单的登录注册系统
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站
- Python之实现简单的注册登录系统
- eclipse下用J2EE(hibernate,struts2,spring)实现的简单登录、注册系统
- go语言实现一个简单的登录注册web小程序
- python实现一个简单的登录注册Demo
- Java Swing 实现一个简单的登录注册窗口
- ant design+node.js+mongoose实现一个简单的注册登录功能
- Python入门学习day02--做一个简单的登录注册系统
- vue_cli下开发一个简单的模块权限系统之实现登录
- 【SQL】运用JDBC实现一个注册、登录系统的编写