Python实现简单用户注册信息管理系统

时间:2024-03-05 08:09:04

运行效果:

 

 

注意:运行前请在同一目录下创建一个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