管理系统练习
叠甲:
该管理系统只是一次尝试、代码结构、系统功能都未完善.
(仅代表个人想法,不喜出门左转,写着写着累了,猪脑子过载了,就这样了,毁灭吧)
# coding:utf-8
'''
功能需求:
虚构一个管理员数据库,可以根据数据库里面的数据,输入相应的用户名密码以及权限密钥进入管理员系统(无密钥则是普通用户,密钥为manager)
管理员有增删改查的权限
其他 普通用户 只有增的权限,(任何用户都可以通过注册用户,进行添加,但不能添加已有用户)
(该管理系统只是一次尝试、代码结构、系统功能都未完善、仅代表个人想法,不喜出门左转)
'''
# 定义一个内置的字典数据库
base_data = {'user_name': ['Jason', 'Jack', 'Tony', 'Tom', 'Tank'],
'pass_word': ['123', '110', '119', '120', '911'],
'age': ['18', '20', '22', '25', '26'],
'sex': ['man', 'woman', 'woman', 'woman', 'man'],
'Job': ['teacher', 'farmer', 'cooker', 'fisher', 'driver']
}
# 定义一个输出用户操作页面的函数,在后面便于调用
def page_table():
info_username = '''
-------- Info Every Baby --------
-------- Please input your operate --------
-------- Number 1 : 登录系统 --------
-------- Number 2 : 注册账号 --------
-------- Number 3 : 退出系统 --------
-------- END --------
'''
print(info_username)
page_table()
def manager_add():
while True:
user_name = input('请输入您要注册的用户名>>>:').strip()
pass_word = input('请输入您的密码>>>:').strip()
age = input('请输入您的年龄>>>:').strip()
sex = input('请输入您的性别>>>:').strip()
job = input('请输入您的工作>>>:').strip()
if user_name in base_data['user_name']:
print('账号已存在,请选择接下来的操作')
next_add = input('继续添加(y确定,其他返回首页)').strip()
if next_add == 'y':
continue
else:
return
else:
base_data['user_name'].append(user_name)
base_data['pass_word'].append(pass_word)
base_data['age'].append(age)
base_data['sex'].append(sex)
base_data['Job'].append(job)
print(f'您注册的账号为:{user_name}')
print('请选择您接下来需要进行的操作:')
next_add = input('继续添加(y确定,其他返回首页)').strip()
if next_add == 'y':
continue
else:
return
def manager_del():
while True:
delete_user = input('请输入您要删除的用户名:').strip()
if delete_user in base_data['user_name']:
base_data['user_name'].remove(delete_user)
print('删除成功')
print('请选择您接下来需要进行的操作:')
next_del = input('继续删除(y确定,其他返回首页)').strip()
if next_del == 'y':
continue
else:
return
else:
print('您输入的用户不存在')
print('请选择您接下来需要进行的操作:')
next_del = input('继续删除(y确定,其他返回首页)').strip()
if next_del == 'y':
continue
else:
return
def manager_update():
while True:
manager_secelt_user = input(
'1.修改用户名\n'
'2.修改密码\n'
'3.修改性别\n'
'4.修改年龄\n'
'5.修改职业\n'
'请输入您要修改的数据值:'
)
if manager_secelt_user == '1':
update_user = input('请输入您要修改用户名的用户名:').strip()
update_user_after = input('请输入修改后的用户名:').strip()
if update_user in base_data['user_name']:
# 根据用户输入的用户名,通过index()方法检索下标,通过下标修改相应的值
base_data['user_name'][
base_data['user_name'].index(update_user)] = update_user_after
print(f'您已成功修改用户名{update_user},为{update_user_after}')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('您输入的用户名有误')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
elif manager_secelt_user == '2':
update_user = input('请输入您要修改密码的用户名:').strip()
update_password_after = input('请输入修改后的密码:').strip()
if update_user in base_data['user_name']:
base_data['pass_word'][
base_data['user_name'].index(update_user)] = update_password_after
print(f'您已成功修改用户名{update_user}的密码,为{update_password_after}')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('您输入的用户名有误')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
elif manager_secelt_user == '3':
update_user = input('请输入您要修改性别的用户名:').strip()
update_sex_after = input('请输入修改后的性别:').strip()
if update_user in base_data['user_name']:
base_data['sex'][
base_data['user_name'].index(update_user)] = update_sex_after
print(f'您已成功修改用户名{update_user}的性别,为{update_sex_after}')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('您输入的用户名有误')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
elif manager_secelt_user == '4':
update_user = input('请输入您要修改年龄的用户名:').strip()
update_age_after = input('请输入修改后的年龄:').strip()
if update_user in base_data['user_name']:
base_data['age'][
base_data['user_name'].index(update_user)] = update_age_after
print(f'您已成功修改用户名{update_user}的性别,为{update_age_after}')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('您输入的用户名有误')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
elif manager_secelt_user == '5':
update_user = input('请输入您要修改职业的用户名:').strip()
update_job_after = input('请输入修改后的职业:').strip()
if update_user in base_data['user_name']:
base_data['Job'][
base_data['user_name'].index(update_user)] = update_job_after
print(f'您已成功修改用户名{update_user}的职业,为{update_job_after}')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('您输入的用户名有误')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('请输入正确的操作数字!')
next_next = input('继续(y确定,其他返回首页)').strip()
if next_next == 'y':
continue
else:
return
def user_operate(is_True):
flag = True
while flag:
# 定义一个变量,用来接收用户的选择
count = 0
while count < 3:
select_number = input('请输入您的选择:数字1、2、3>>>:').strip()
# 根据用户所输入的选择,判断用户所需要进行的操作
if select_number == '1':
# 登录页面,定义账号密码接收用户输入的数据
name = input('请输入您的账号:').strip()
password = input('请输入您的密码:').strip()
function = input('请输入您的身份验证码:').strip()
# int(password)
# 定义两个空列表,用来接收for循环字典出来的用户名和密码
base_user_name = []
base_pass_word = []
# base_function = []
# 循环遍历数据字典里面的用户名,并把遍历出来的用户名添加到创建的空列表中
for i in base_data['user_name']:
base_user_name.append(i)
# print(base_user_name)
# 循环遍历数据字典里面的密码,并把遍历出来的密码添加到创建的空列表中
for j in base_data['pass_word']:
base_pass_word.append(j)
# print(base_pass_word)
# 将用户列表和密码列表使用zip函数解压成一个二维矩阵
# (zip()方法可以将账号、密码的关系一一对应)
base_account_secrecy_zip = list(zip(base_user_name, base_pass_word))
# 将解压的用户、密码二维矩阵转换为字典
base_account_secrecy = dict(base_account_secrecy_zip)
# 定义一个子集空字典,用.setdefault()方法将接收的数据转换为字典
baby = {}
baby.setdefault(name, password)
# 使用if判断语句,判断输入的账密字典,是否为我们转换的字典的子集
if baby.items() < base_account_secrecy.items():
if function == 'manager':
print(f'欢迎管理员:{name},登录成功')
manager_secelt = input('1.增加用户\n'
'2.删除用户\n'
'3.修改用户信息\n'
'4.查询用户信息\n'
'请选择您接下来需要进行的操作:')
if manager_secelt == '1':
manager_add()
elif manager_secelt == '2':
manager_del()
elif manager_secelt == '3':
manager_update()
# user_operate(True)
elif manager_secelt == '4':
print(base_data.items())
else:
print(f'欢迎用户:{name},登录成功')
user_select = input('1.修改个人信息\n'
'2.返回首页\n'
'请输入您要进行的操作:')
if user_select == '1':
while True:
user_select_user = input(
'1.修改用户名\n'
'2.修改密码\n'
'3.修改性别\n'
'4.修改年龄\n'
'5.修改职业\n'
'请输入您要修改的数据值:'
)
if user_select_user == '1':
update_user = input('请输入您的用户名:').strip()
update_user_after = input('请输入修改后的用户名:').strip()
if update_user == name:
base_data['pass_word'][
base_data['user_name'].index(update_user)] = update_user_after
print(f'您已成功修改用户名{update_user},为{update_user_after}')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('输入用户名有误!请输入的您的用户名')
next_update = input('继续修改(y确定,其他退出程序)').strip()
if next_update == 'y':
continue
else:
return
elif user_select_user == '2':
update_user = input('请输入您的用户名:').strip()
update_pwd_after = input('请输入修改后的密码:').strip()
if update_user == name:
base_data['pass_word'][
base_data['user_name'].index(update_user)] = update_pwd_after
print(f'您已成功修改用户名{update_user}的密码,为{update_pwd_after}')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('输入用户名有误!请输入的您的用户名:')
next_update = input('继续修改(y确定,其他退出程序)').strip()
if next_update == 'y':
continue
else:
return
elif user_select_user == '3':
update_user = input('请输入您的用户名:').strip()
update_sex_after = input('请输入修改后的性别:').strip()
if update_user == name:
base_data['sex'][
base_data['user_name'].index(update_user)] = update_sex_after
print(f'您已成功修改用户名{update_user}的性别,为{update_sex_after}')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('输入用户名有误!请输入的您的用户名')
next_update = input('继续修改(y确定,其他退出程序)').strip()
if next_update == 'y':
continue
else:
return
elif user_select_user == '4':
update_user = input('请输入您的用户名:').strip()
update_age_after = input('请输入修改后的年龄:').strip()
if update_user == name:
base_data['age'][
base_data['user_name'].index(update_user)] = update_age_after
print(f'您已成功修改用户名{update_user}的年龄,为{update_age_after}')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('输入用户名有误!请输入的您的用户名')
next_update = input('继续修改(y确定,其他退出程序)').strip()
if next_update == 'y':
continue
else:
return
elif user_select_user == '5':
update_user = input('请输入您的用户名:').strip()
update_job_after = input('请输入修改后的职业:').strip()
if update_user == name:
base_data['Job'][
base_data['user_name'].index(update_user)] = update_job_after
print(f'您已成功修改用户名{update_user}的职业,为{update_job_after}')
next_update = input('继续修改(y确定,其他返回首页)').strip()
if next_update == 'y':
continue
else:
return
else:
print('输入用户名有误!请输入的您的用户名')
next_update = input('继续修改(y确定,其他退出程序)').strip()
if next_update == 'y':
continue
else:
return
elif user_select == '2':
return
else:
print('登录失败')
count += 1
if count == 3:
return False
elif select_number == '2':
manager_add()
elif select_number == '3':
Define = input('您确定要退出吗?y(确定,其他继续操作)>>:').strip()
if Define == 'y':
print('退出成功!')
return False
flag = False
else:
user_operate(True)
else:
count += 1
if count == 3:
return False
# 调用函数 (没什么用,当时想着用就试了试,目前不想改了,累了,毁灭吧)
user_operate(True)
标签:管理系统,练习,update,next,base,user,strip,input
From: https://www.cnblogs.com/HaiMan/p/16755993.html