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

系统功能预览

用户注册信息管理系统包括主界面菜单、显示全部已注册用户、查看/修改/删除用户信息、添加新用户、保存用户数据、退出系统等主要功能。

主界面菜单

用户注册信息管理系统程序启动时,首先显示主界面,如下所示。

用户注册信息管理系统

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('谢谢使用,系统已退出!')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值