一.首先是用户属性的类
class account(object):
# 储存用户信息的类
def __init__(self, id1, name, tel, money):
self.id = id1
# 账户
self.name = name
# 姓名
self.tel = tel
# 电话
self.money = money
# 余额
def __str__(self):
return f'{self.id},{self.name},{self.tel},{self.money}'
二.然后就是整个管理类
1.储存信息的列表
def __init__(self):
self.users_list = []
# 储存信息的列表
2.各个功能的选择部分函数,使用到的函数在下面都会有介绍
def function(self):
"""调用各个函数的函数"""
# 函数的说明文档,一般用来记录函数的作用
self.load_users()
# 将文件里的信息读取出来
while True:
self.show_menu()
menu_num = int(input('请输入需要的功能序号'))
if menu_num == 1:
self.add_users()
elif menu_num == 2:
self.del_users()
elif menu_num == 3:
self.modify_users()
elif menu_num == 4:
self.query_users()
elif menu_num == 5:
self.show_users()
elif menu_num == 6:
self.save_users()
elif menu_num == 7:
print('感谢使用,再见')
break
else:
print('输入有误,请重新输入')
continue
3.展示功能菜单的函数
def show_menu(self):
"""展示功能菜单"""
print('1--添加用户')
print('2--删除用户')
print('3--修改用户')
print('4--查询用户')
print('5--显示所有用户')
print('6--保存用户信息')
print('7--退出系统')
4.添加用户信息的函数
def add_users(self):
"""添加用户"""
id1 = input('请输入用户账户')
for i in self.users_list:
# 增删改查里都有循环用来查找数据然后再进行对应操作
if i.id == id1:
print('输入的账户已存在!!!')
return
name = input('请输入用户姓名')
tel = input('请输入用户电话')
money = input('请输入用户余额')
user = account(id1, name, tel, money)
# 将所有信息放入列表
self.users_list.append(user)
# 将列表追加进储存的列表
5.删除用户信息的函数
def del_users(self):
"""删除用户"""
del_users_id = input('请输入需要删除用户的id')
for i in self.users_list:
if i.id == del_users_id:
self.users_list.remove(i)
break
else:
print('输入的用户不存在')
6.修改用户信息的函数
def modify_users(self):
"""修改用户"""
modify_users_id = input('请输入需要修改用户的id')
for i in self.users_list:
if i.id == modify_users_id:
print('已查询到用户,下面请按提示输入修改后的信息')
i.name = input('姓名:')
i.tel = input('电话:')
i.money = input('余额:')
# 找到之后对姓名、电话、余额进行更改,可以做到单项更改,但是太麻烦了,也就是加上一些if而已
# 账户不做更改,做更改还要判断账户是否重复,我嫌麻烦
# 想加就把上面的for循环弄下来稍微改一下就行
break
else:
print('输入的用户不存在')
7.查询用户信息的函数
def query_users(self):
"""查询用户"""
query_users_id = input('请输入需要查询用户的id')
for i in self.users_list:
if i.id == query_users_id:
print(f'账户:{i.id}\t姓名:{i.name}\t电话:{i.tel}\t余额:{i.money}')
break
else:
print('输入的用户不存在')
8.显示所有用户信息的函数
def show_users(self):
"""显示所有用户"""
for i in self.users_list:
print(f'账户:{i.id}\t姓名:{i.name}\t电话:{i.tel}\t余额:{i.money}')
9.保存用户信息的函数
def save_users(self):
"""将信息保存"""
information = open('account.dat', 'w')
new_list = [i.__dict__ for i in self.users_list]
# ___dict___强调储存的是静态属性
information.write(str(new_list))
# 以字符串形式写入
information.close()
# 关闭文件
10.加载文件里信息的函数
def load_users(self):
"""加载信息"""
try:
information = open('account.dat', 'r')
except:
information = open('account.dat', 'w')
else:
# 读取数据:文件读取出的数据是字符串还原列表类型;[{}] 转换 [学员对象]
data = information.read() # 字符串
if len(data)!=0:
# 判断读取的数据长度,如果没读到数据依旧运行下一行的代码会导致异常
# 顺带着也当做优化了,没读取到也就不用运行转换循环了
new_list = eval(data)
self.users_list = [account(i['id'], i['name'], i['tel'], i['money']) for i in new_list]
# 用循环将列表转换成字典形式
finally:
information.close()
# 无论怎样最后都关闭文件
三.完整代码如下
class account(object):
# 用户信息类
def __init__(self, id1, name, tel, money):
self.id = id1
# 账户
self.name = name
# 姓名
self.tel = tel
# 电话
self.money = money
# 余额
def __str__(self):
return f'{self.id},{self.name},{self.tel},{self.money}'
class accountmanager(object):
# 管理系统类
def __init__(self):
self.users_list = []
# 储存信息的列表
def function(self):
"""调用各个函数的函数"""
# 函数的说明文档,一般用来记录函数的作用
self.load_users()
# 将文件里的信息读取出来
while True:
self.show_menu()
menu_num = int(input('请输入需要的功能序号'))
if menu_num == 1:
self.add_users()
elif menu_num == 2:
self.del_users()
elif menu_num == 3:
self.modify_users()
elif menu_num == 4:
self.query_users()
elif menu_num == 5:
self.show_users()
elif menu_num == 6:
self.save_users()
elif menu_num == 7:
print('感谢使用,再见')
break
else:
print('输入有误,请重新输入')
continue
def show_menu(self):
"""展示功能菜单"""
print('1--添加用户')
print('2--删除用户')
print('3--修改用户')
print('4--查询用户')
print('5--显示所有用户')
print('6--保存用户信息')
print('7--退出系统')
def add_users(self):
"""添加用户"""
id1 = input('请输入用户账户')
for i in self.users_list:
# 增删改查里都有循环用来查找数据然后再进行对应操作
if i.id == id1:
print('输入的账户已存在!!!')
return
name = input('请输入用户姓名')
tel = input('请输入用户电话')
money = input('请输入用户余额')
user = account(id1, name, tel, money)
# 将所有信息放入列表
self.users_list.append(user)
# 将列表追加进储存的列表
def del_users(self):
"""删除用户"""
del_users_id = input('请输入需要删除用户的id')
for i in self.users_list:
if i.id == del_users_id:
self.users_list.remove(i)
break
else:
print('输入的用户不存在')
def modify_users(self):
"""修改用户"""
modify_users_id = input('请输入需要修改用户的id')
for i in self.users_list:
if i.id == modify_users_id:
print('已查询到用户,下面请按提示输入修改后的信息')
i.name = input('姓名:')
i.tel = input('电话:')
i.money = input('余额:')
# 找到之后对姓名、电话、余额进行更改,可以做到单项更改,但是太麻烦了,也就是加上一些if而已
# 账户不做更改,做更改还要判断账户是否重复,我嫌麻烦
# 想加就把上面的for循环弄下来稍微改一下就行
break
else:
print('输入的用户不存在')
def query_users(self):
"""查询用户"""
query_users_id = input('请输入需要查询用户的id')
for i in self.users_list:
if i.id == query_users_id:
print(f'账户:{i.id}\t姓名:{i.name}\t电话:{i.tel}\t余额:{i.money}')
break
else:
print('输入的用户不存在')
def show_users(self):
"""显示所有用户"""
for i in self.users_list:
print(f'账户:{i.id}\t姓名:{i.name}\t电话:{i.tel}\t余额:{i.money}')
def load_users(self):
"""加载信息"""
try:
information = open('account.dat', 'r')
except:
information = open('account.dat', 'w')
else:
# 读取数据:文件读取出的数据是字符串还原列表类型;[{}] 转换 [学员对象]
data = information.read() # 字符串
if len(data)!=0:
# 判断读取的数据长度,如果没读到数据依旧运行下一行的代码会导致异常
# 顺带着也当做优化了,没读取到也就不用运行转换循环了
new_list = eval(data)
self.users_list = [account(i['id'], i['name'], i['tel'], i['money']) for i in new_list]
# 用循环将列表转换成字典形式
finally:
information.close()
# 无论怎样最后都关闭文件
def save_users(self):
"""将信息保存"""
information = open('account.dat', 'w')
new_list = [i.__dict__ for i in self.users_list]
# ___dict___强调储存的是静态属性
information.write(str(new_list))
# 以字符串形式写入
information.close()
# 关闭文件
account_manager = accountmanager()
# 创建类
account_manager.function()
# 运行系统
文章来源地址https://www.toymoban.com/news/detail-763350.html
文章来源:https://www.toymoban.com/news/detail-763350.html
到了这里,关于使用python对银行信息管理系统的简单实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!