Python实现简单用户注册信息管理系统
运行效果:

注意:运行前请在同一目录下创建一个userdata.bin用于保存用户数据
源代码:
1 # coding:utf-8
2 '''
3 用户注册信息管理系统
4 功能包括:
5 1.查看全部已注册用户信息
6 2.查找用户信息
7 3.修改用户信息
8 4.删除用户信息
9 5.添加新用户
10 6.将用户信息存入文件
11 每个注册用户的信息用对象表示,程序启动时,自动载入文件中保存的用户信息
12 程序启动后,显示操作菜单,并根据选择执行不同的操作
13 各种菜单操作定义为函数,调用函数完成对应操作
14 '''
15 '''
16 导入pickle模块中的dump、load方法
17 dump方法将对象写入文件,load方法从文件中载入对象
18 '''
19
20 from pickle import dump,load
21
22 ##定义user类,实例对象的userName属性存储用户名,passWord属性存储登录密码
23
24 class user:
25 #实例化对象,默认是None
26 def __init__(self,userName=None,passWord=None):
27 self.userName=userName
28 self.passWord=passWord
29
30 #update方法修改用户名和登录密码
31 def update(self,userName,passWord):
32 self.userName=userName
33 self.passWord=passWord
34
35 #__repr__()方法定义对象打印格式
36 def __repr__(self):
37 return 'userName=%s\tpassWord=%s'%(self.userName,self.passWord)
38
39 ##函数showAll()显示当前已注册用户信息########################
40 def showAll():
41 global userList
42 if len(userList)==0:
43 print('\t当前无注册用户')
44 else:
45 print('\t当前已注册用户信息如下:')
46 n=0
47 for x in userList:
48 n+=1
49 print('\t%s. '%n,x)
50 input('\n\t按Enter键继续...\n')
51
52
53 ##函数check_update()执行查找、修改或删除操作######################
54 def check_update():
55 global userList
56 userName=input('\t请输入要查找的用户名:')
57 index=find(userName)
58 if index==-1:
59 print('\t%s不存在!'%userName)
60 else:
61 #用户名已注册,执行修改或删除操作
62 print('\t%s 已经注册!'%userName)
63 print('\t请选择操作:')
64 print('\t 1.修改用户')
65 print('\t 2.删除用户')
66 op=input('\t请输入序号选择对应操作:')
67 if op=='2':
68 #删除用户
69 del userList[index]
70 print('\n\t 已成功删除用户!')
71 else:
72 #修改用户信息
73 userName=input('\t请输入新的用户名:')
74 if userName=='':
75 print('\t用户名输入无效!')
76 else:
77 #检查是否已存在同名的注册用户
78 if find(userName)>-1:
79 print('\t你输入的用户名已经使用!')
80 else:
81 passWord=input('\t请输入新用户登录密码:')
82 if passWord=='':
83 print('\t登录密码输入无效!')
84 else:
85 userList[index].update(userName,passWord)
86 print('\n\t已成功修改用户!')
87 input('\n\t按Enter键继续...\n')
88
89
90 ##函数addUser()添加新用户########################
91 def addUser():
92 global userList
93 userName=input('\t请输入用户名:')
94 if userName=='':
95 print('\t用户名输入无效!')
96 else:
97 #检查是否已存在同名的注册用户
98 if find(userName)>-1:
99 print('您输入的用户名已经使用,请重新添加用户!')
100 else:
101 passWord=input('\t请输入新用户登录密码:')
102 if passWord=='':
103 print('\t登录密码输入无效!')
104 else:
105 userList.append(user(userName,passWord))
106 print('\t已成功添加用户!')
107 input('\n\t按Enter键继续........')
108
109 ##函数find(namekey)查找是否存在用户名为namekey的注册用户
110 def find(namekey):
111 global userList
112 #如果注册用户列表userList中存在namekey的用户,则返回位置,否则返回-1
113 n=-1
114 for x in userList:
115 n+=1
116 if x.userName==namekey:
117 break
118 else:
119 n=-1
120 return n
121
122 ##函数save()将当前用户信息写入文件永久保存
123 def save():
124 global userList
125 #将用户写入文件永久保存
126 myfile=open(r'userdata.bin','wb')
127 global userList
128 dump(userList,myfile)
129 myfile.close()
130 print('\t已成功保存用户信息')
131 input('\n\t按Enter键继续......')
132
133 ##程序启动时,载入文件中的用户数据
134 myfile=open(r'userdata.bin','rb')
135 x=myfile.read(1)
136 if x==b'':
137 userList=list()
138 else:
139 myfile.seek(0)
140 userList=load(myfile)
141 myfile.close()
142
143 #以死循环显示系统操作菜单,直到选择退出系统
144 while True:
145 print('用户注册信息管理系统')
146 print('\t1. 显示全部已注册用户')
147 print('\t2. 查找/修改/删除用户信息')
148 print('\t3. 添加新用户')
149 print('\t4. 保存用户数据')
150 print('\t5. 退出系统')
151 no=input('请输入序号选择对应菜单:')
152 if no=='1':
153 showAll()
154 elif no=='2':
155 check_update()
156 elif no=='3':
157 addUser()
158 elif no=='4':
159 save()
160 elif no=='5':
161 print('谢谢使用,系统已退出')
162 break
Python实现简单用户注册信息管理系统的更多相关文章
- python 简单的信息管理系统
#!/usr/bin/python #coding=utf-8 import io import os import time FileRead = io.open('callingcard','r' ...
- Java之从头开始编写简单课程信息管理系统
编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法 详情可参考以下链接: https://www.cnblogs.com/dream0-0/p/10090828.h ...
- python写一个学生信息管理系统
#coding:utf-8 2 info = []#全局变量 3 def info_print(): 4 print("请选择功能:") 5 print("1:添加学员& ...
- Java Swing设计简单商品信息管理系统(java swing+mysql+eclipse)
一.概述 为了管理好商店库存信息,提升店铺管理工作效率,结合实际工作需要,设计和开发本系统,主要用于商店商品信息维护出入库等.包含商品库存信息查看.商品信息修改,新增商品信息,删除信息等功能. 二.功 ...
- 【python免费代码】设计一个简单的学生信息管理系统
文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...
- python 写简单的职员信息管理系统
职员信息管理系统要求依次从键盘录入每位员工的信息,包括姓名.员工id.身份证号要求:1.身份证号十八位,要求除了第18位可以为x,其余都只能为数字2.id须由5位数字组成3.否则提示用户重新输入不符合 ...
- Python 员工信息管理系统
学Python将近一个月了,第一次写了两百多行代码,一个很简单的脚本. 员工信息管理系统: 需求: 1.管理员账户能够增加,删除,修改,查询员工信息,并且设置管理员账户. 2.普通账户可以查看所有员工 ...
- Python极其简单的分布式异步作业管理系统RQ入门
Python极其简单的分布式异步作业管理系统RQ入门 原创 2017-08-19 lixing 生信人 Python极其简单的分布式异步作业管理系统RQ入门 1. 什么是Job? Job直译过来就是工 ...
- Python基础案例练习:制作学生信息管理系统
一.前言 学生信息管理系统,相信大家或多或少都有做过 最近看很多学生作业都是制作一个学生信息管理系统 于是,今天带大家做一个简单的学生信息管理系统 二.开发环境: 我用到的开发环境 Python 3. ...
随机推荐
- Redis原理再学习05:数据结构-整数集合intset
intset介绍 intset 整数集合,当一个集合只有整数元素,且元素数量不多时,Redis 就会用整数集合作为集合键的底层实现. redis> SADD numbers 1 3 5 7 9 ...
- 服务端&客户端注册进Eureka
目录 服务端(接口提供方) 创建项目 导入Eureka客户端POM 启动类添加注解 配置YML 暴漏接口 启动服务 集群 配置成功后页面如下 客户端(接口调用方) 修改Yml文件 配置类 启动类添加注 ...
- vue全局引入公共scss样式,子组件调用
前提 已引用并使用scss npm install sass-loader --save-dev npm install node-sass --sava-dev 配置 在vue.config.js中 ...
- PAM学习小结
PAM 目录 PAM 功能: 回文树 Fail指针 Trans指针 构建PAM 应用 P5496[模板]回文自动机(PAM) P4287[SHOI2011]双倍回文 P4555[国家集训队]最长双回文 ...
- 【数据结构与算法】Trie(前缀树)模板和例题
Trie 树的模板 Trie 树的简介 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树.他的核心思想是空间换 ...
- .NET 6学习笔记(2)——通过Worker Service创建Windows Service
通过Visual Studio中的Windows Service模板,我么可以创建.NET Framework版本的Windows Service,网络上对此已有详细且丰富的各路教程.但在我们升级到. ...
- 在/etc/docker/下 创建daemon.json重新加载后docker无法启动问题 /etc/docker/daemon.json编辑不了 找不到
可能产生这个问题的原因至少有以下几个: 编辑daemon.json步骤不对:想要创建并编辑daemon.json,应该是先启动docker服务,此时系统自动产生/etc/docker目录,此时cat生 ...
- springcloud报错-Ribbon整合Eureka,出现 No instances available for XXX 异常
RestTemplate注入有问题 新版的需要这样注入: @Bean @LoadBalanced RestOperations restTemplate(RestTemplateBuilder bui ...
- k8s.gcr.io、gcr.io仓库的镜像下载
镜像下载.域名解析.时间同步请点击 阿里巴巴开源镜像站 获取这类镜像的方法一般有2种: 1.通过拉取国内镜像仓库的内容(操作简单直接拉取即可,缺点是镜像的版本更新可能较慢,可能无法获取最新的镜像) 2 ...
- Mysqldump 命令只导出表结构或数据或数据和结构的方法
1.备份数据库 #mysqldump --opt -d 数据库名 -u root -p > xxx.sql #mysqldump DB_NAME >数据库备份名 #mysqldump -A ...