首页 > 其他分享 >员工管理系统4.0

员工管理系统4.0

时间:2024-04-10 20:23:03浏览次数:30  
标签:4.0 管理系统 员工 print input login else data name

Author: Zeno

date:2024/4/10

time:13:00

判断输入值是否在指定范围内

def isin(input, list):
if input in list:
return True, f'{input}'
else:
return False, f'{input} not found!'

输入用户名和密码,并进行判断

def getnp(func):
name_ipt = input(f'please input your {func} name:')
count = 0
while count < 3:
count += 1
pass_ipt = input(f'please input your {func} password:')
if pass_ipt.isalnum():
return name_ipt, pass_ipt
elif count == 3:
return False, 'Wrong password format input'
else:
print(f'''the password just allow alpha and number,
you have {3 - count} chance left, please try again:''')
continue

读取文件数据,转为字典

def read(file):
type = file.split('.')[-1]
data_dict = {}
if type in ['txt', 'xls']:
with open(f'{file}', "r", encoding='utf8') as f:
data = f.readlines()
data_list = [line.strip().split() for line in data if len(line) > 4]
if data_list:
for i in data_list:
name, pwd, role, state = i
data_dict[name] = {'name': name, "password": pwd, 'role': role, 'state': state}
return True, data_dict,data
else:
return False, 'no information now',''
else:
with open(f'{file}', 'rb') as f:
data = f.read()

tag,msg = read('data.txt')

print(tag,msg)

def write(file, dct, mode):
data_list = [list(i.values()) for i in list(dct.values())]
data_str = '\n'.join('\t'.join(i) for i in data_list)
with open(f'{file}', f'{mode}', encoding='utf8') as f:
f.write(data_str + '\n')

def logad(name):
if name:
tg, dct,dat = read('data.txt')
if dct[name]['role'] and dct[name]['role'] == 'admin':
return True, name
else:
return False, f'user {name} is not admin ,have no right!'

write('data1.txt',dct,'a')

verification_code = 'qaz'

def register(func='register'):
tag, dct,dat = read('data.txt')
dcts = {}
count = 0
while count < 3:
count += 1
name, pwd = getnp(func)
tag, msg = isin(name, dct)
if tag:
print(f'user {name} is existed,please try again')
continue
else:
rolevery = input('please input your role verification code:')
if rolevery == verification_code:
role = 'admin'
else:
role = 'visit'
state = 'open'
print(f'user {name} {func} successfully!')
dcts[name] = {'name': name, 'password': pwd, 'role': role, 'state': state}
write('data.txt', dcts, 'a')
break

def login(func=None):
name, pwd = getnp('login')
tag, dct,dat = read('data.txt')
isn,nm = isin(name,dct)
if tag and isn :
if pwd == dct[name]['password']:
login_now = []
login_now.append(name)
print(f' user {name} login successfully!')
if not func:
return True, name
else:
func(name=name)
else:
print('wrong login password')
return False, None
else:
print(nm)

def increase(name=None):
if login_now:
tag, namelg = logad(login_now[0])
if tag:
register('increase')
else:
print(namelg)
elif name:
tagn, namen = logad(name)
if tagn:
register('increase')
else:
print(namen)
else:
print(f'please login first!')
login(increase)

def pick(a,b):
if a:
return a[0]
elif b:
return b
elif a and b:
return b

def looks(name):
tag, namelg = logad(name)
if tag:
namef = input('please input the name look for a for all and name for the exact one:')
st, dct, dat = read('data.txt')
s,n = isin(namef, dct)
if namef == 'a':
dat_str = ''.join(dat)
print(f'''------------all -------------
{dat_str}
----------------------------------''')
elif s:
print(f'''----------------------------
information for {n} as below:
{list(dct[namef].values())}
''')
else:
print(namelg)

def look_for(name=None):
if login_now or name:
naml = pick(login_now,name)
looks(naml)
else:
print(f'please login first!')
login(look_for)

def delete(name=None):
...

verification_code = 'qaz'
login_now = []

def main():
count = 0
while count < 5:
print('''----------------Welcome to employee system--------------
1:register
2:login
3:increase
4:look_for
5:delete
----------------------------------------------------------''')
menu_dict = {'1': register, '2': login, '3': increase, '4': look_for, '5': delete}
menu_choice = input('please input your function choice in a above menu:')
tag, msg = isin(menu_choice, menu_dict)
if tag:
print(f'Welcome to {menu_dict.get(menu_choice).name}')
menu_dict.get(menu_choice)()
else:
print(f'{msg}')

main()

标签:4.0,管理系统,员工,print,input,login,else,data,name
From: https://www.cnblogs.com/zenopan101861/p/18127329

相关文章

  • 基于ssm的家庭财务管理系统设计与实现论文
    摘要现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本家庭财务管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理......
  • VS2022 解决方案打不开 .NET Framework 4.0 、 4.5 等老项目
    vs2022开发工具最低支持net4.8,以下的如net3.5、4.0、4.5项目,加载不上怎么处理。一、下载.NETFramework框架.NETFramework4.5.2.NETFramework4.5.1.NETFramework4.5.NETFramework4.0,把框架放到vs安装目录下的对应包中。microsoft.netframework.referenceassemblies.......
  • ABP-VNext 用户权限管理系统实战04---多数据库支持、批量插入
    系统用的.net core,数据库映射工具为efcore,可以支持多数据库。一、支持多数据库1、扩展AbpDbContextOptions类 需要引入的类 2、服务中注入 二、批量插入实现EFCORE批量插入接口IEfCoreBulkOperationProvider,使用杨中科的包:https://github.com/yangzhongke/Zack.EF......
  • 智慧校园平台解决方案-收费管理系统
    收费管理系统简介: 学生收费管理系统与教务系统​​​​​​​,学工系统实现数据互通;实现网站支付功能,实现学生在家,在宿舍,只要能够上网即可通过支付宝,微信,网银对产生的订单进行支付。服务网大厅中的web网上查询使得数据查询更加便利,财务负责人通过平台查看学生收费情况,院系老......
  • 免费分享Springboot+Vue的停车场管理系统源码,真酷啊
    今天给大家分享一套基于Springboot+Vue的停车场管理系统源码,在实际项目中可以直接复用。(免费提供,文末自取)一、系统运行图1、登陆页面2、车位管理3、车辆进出管理设计一个SpringBoot+Vue的停车场管理系统时,需要注意以下细节:1.用户权限管理:确保系统具有不......
  • python 会员信息管理系统2.0
    问题介绍综合案例实现:会员管理系统设计与实现-V3利用所学习的知识点 ,结合会员管理系统的分析与实现, 了解面向对象开发过程中类内部功能的分析方法,系统讲解 Python语法、控制结构、四种典型序列 ,函数定义以及面向对象语法和模块的应用。(使用面向对象的思想)面向对象编......
  • 基于SSM+MySql+Layui的在线教育视频课程管理系统(附论文)
    演示视频基于SSM+MySql+Layui的在线教育视频课程管理系统(附论文)-源码乐园技术描述开发工具:Idea/Eclipse数据库:mysqlJar包仓库:Maven前段框架:LayUI后端框架:Spring+SpringMVC+Mybatis+MySQL文字描述基于SSM+MySql+Layui的在线教育视频课程管理系统,分为用......
  • 基于SSM果蔬购物管理系统
    目录项目介绍:图片展示获取方式项目介绍:基于ssm的果蔬,水果,蔬菜购物管理系统用户划分,用户管理员用户,具有登录,注册,查看首页,蔬菜专区进行购买蔬菜,水果专区进行购买水果,我的账号,可以查看自己的信息,添加收货地址,以及确认收货等加入购物车添加到收藏以及购买支付等......
  • 基于ssm+vue.js的高校学生实习管理系统附带文章和源代码设计说明文档ppt
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我成功案例代码参考数据库参考源码获取前言......
  • 基于ssm+vue.js的酒店预订管理系统附带文章和源代码设计说明文档ppt
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我成功案例代码参考数据库参考源码获取前言......