系统功能预览
用户注册信息管理系统包括主界面菜单、显示全部已注册用户、查看/修改/删除用户信息、添加新用户、保存用户数据、退出系统等主要功能。
主界面菜单
用户注册信息管理系统程序启动时,首先显示主界面,如下所示。
用户注册信息管理系统
1.显示全部已注册用户
2.查找/修改/删除用户信息
3.添加新用户
4.保存用户数据
5.退出系统
请输入序号选择对应菜单:
在主界面中,输入相应的序号选择对应菜单,执行相应操作。主界面菜单在每执行完一项操作后,会循环显示,直到选择退出系统。
在了解完整个系统的大致功能之后,我们就可以着手准备写代码了。
因为实验要求每个用户作为一个单独的对象,每个对象存放在列表中,并且用户的两个信息:用户名和登录密码保存在磁盘文件中,所以我们首先创建user类
class user:
def __init__(self,username,password):
self.name = username
self.password = password
user类包含一个构造方法,体现用户的两个属性name和password
接下来我们读取保存在.txt里的用户信息并把它保存在新定义的列表list中
一个用户的信息由两行组成
一行是用户名,一行是登录密码
count = 0
file = open("test.txt","r")
for line in file.readlines():
line = line.replace('\n','')
line = line.split(',')
list.append(line)
count += 1
file.close()
count = int(count / 2)
line.replace('\n','')去除了每一行末的回车符
count变量记录着用户的个数
接下来我们批量生成用户对象,并把对应的数据和对应用户的属性一一对应,最后再把创建的用户对象放在userlist列表中
m = 0; n = 1
for i in range(count):
temp1 = list[m]
temp2 = list[n]
m += 2; n += 2
userlist.append(user(temp1,temp2))
接下来编写菜单中各功能的函数
第一个显示全部已注册用户的功能比较简单没有单独写成函数
第二个功能查找/修改/删除用户信息的函数的代码如下:
def seek():
u = input('请输入要查找的用户名:')
i = 0
y = 0
while i < count:
if u == ' '.join(userlist[i].name):
print(u+'已注册')
print('请选择操作:')
print('1.修改用户')
print('2.删除用户')
seekchoice = int(input('请输入序号选择对应操作:'))
if seekchoice == 1:
newname = input('请输入新的用户名:')
newpassword = input('请输入新用户的登录密码:')
userlist[i].name = newname
userlist[i].password = newpassword
print('已成功修改用户!')
elif seekchoice == 2:
userlist.remove(userlist[i])
print('已成功删除用户!')
else:
print('您输入的信息有误!')
y = 1
break
i += 1
if y == 0:
print(u+'不存在!')
有一点需要注意的是,因为存储在userlist中,用户的name等信息是以列表的格式保存的这时候需要调用' '.join()函数去除列表的[ ]
第三个功能添加新用户的函数的代码如下:
def add():
newname = input('请输入新的用户名:')
i = 0
y = 0
while i < count:
if newname == ' '.join(userlist[i].name):
print('您输入的用户名已经使用,请重新添加用户!')
y = 1
break
i += 1
if y == 0:
newpassword = input('请输入新用户的登录密码:')
userlist.append(user(newname,newpassword))
count += 1
第四个功能保存用户数据的函数的代码如下:
def save():
file = open("test.txt","w+")
i = 0
while i < count:
file.write(' '.join(userlist[i].name))
file.write('\n')
file.write(' '.join(userlist[i].password))
file.write('\n')
i += 1
file.close()
print('已成功保存用户信息')
全部的代码如下:
userlist = []
list = []
class user:
def __init__(self,username,password):
self.name = username
self.password = password
count = 0
file = open("test.txt","r")
for line in file.readlines():
line = line.replace('\n','')
line = line.split(',')
list.append(line)
count += 1
file.close()
count = int(count / 2)
m = 0; n = 1
for i in range(count):
temp1 = list[m]
temp2 = list[n]
m += 2; n += 2
userlist.append(user(temp1,temp2))
def add():
newname = input('请输入新的用户名:')
i = 0
y = 0
while i < count:
if newname == ' '.join(userlist[i].name):
print('您输入的用户名已经使用,请重新添加用户!')
y = 1
break
i += 1
if y == 0:
newpassword = input('请输入新用户的登录密码:')
userlist.append(user(newname,newpassword))
count += 1
def save():
file = open("test.txt","w+")
i = 0
while i < count:
file.write(' '.join(userlist[i].name))
file.write('\n')
file.write(' '.join(userlist[i].password))
file.write('\n')
i += 1
file.close()
print('已成功保存用户信息')
def seek():
u = input('请输入要查找的用户名:')
i = 0
y = 0
while i < count:
if u == ' '.join(userlist[i].name):
print(u+'已注册')
print('请选择操作:')
print('1.修改用户')
print('2.删除用户')
seekchoice = int(input('请输入序号选择对应操作:'))
if seekchoice == 1:
newname = input('请输入新的用户名:')
newpassword = input('请输入新用户的登录密码:')
userlist[i].name = newname
userlist[i].password = newpassword
print('已成功修改用户!')
elif seekchoice == 2:
userlist.remove(userlist[i])
print('已成功删除用户!')
else:
print('您输入的信息有误!')
y = 1
break
i += 1
if y == 0:
print(u+'不存在!')
print('用户注册信息管理系统')
print('1.显示全部已注册用户')
print('2.查找/修改/删除用户信息')
print('3.添加新用户')
print('4.保存用户数据')
print('5.退出系统')
choose1 = int(input(print('请输入序号选择对应菜单:')))
while choose1 != 5:
if choose1 == 1:
c = 0;m = 0;n = 1
while c < count:
print(c+1,'.username=',' '.join(list[m]),' password=',' '.join(list[n]))
m += 2;n += 2;c += 1
choose2 = input('按住Enter键继续······')
if choose2 == '\n':
continue
elif choose1 == 2:
seek()
choose2 = input('按住Enter键继续······')
if choose2 == '\n':
continue
elif choose1 == 3:
add()
choose2 = input('按住Enter键继续······')
if choose2 == '\n':
continue
elif choose1 == 4:
save()
choose2 = input('按住Enter键继续······')
if choose2 == '\n':
continue
else:
print('您输入的信息有误!')
choose1 = int(input(print('请输入序号选择对应菜单:')))
if choose1 == 5:
print('谢谢使用,系统已退出!')