目录
一、🔎源代码
二、💯代码讲解
一、🔎源代码
user_list = [
{'name': '张三', 'phone': '123', 'wx': '321'},
{'name': '李四', 'phone': '456', 'wx': '654'}
]
def add_user():
name = input('请输入姓名:')
for i in user_list:
if i['name'] == name:
print('此用户名已重复')
return
phone = input('请输入手机号:')
wx = input('请输入微信号:')
user = {'name': name, 'phone': phone, 'wx': wx}
user_list.append(user)
print(user_list)
def check_index(i):
if not i.isdigit():
print('您输入的数字不合法')
return False
index = int(i)
if index < 0 or index > len(user_list) - 1:
print('您输入的名片序号不在有效范围内')
return False
return True
def del_user():
index = input('请输入要删除的名片序号')
if check_index(index):
index = int(index)
else:
return
ans = input('您是否真的要删除?(YES or NO):')
if ans.upper() == 'YES':
user_list.pop(index)
print(user_list)
def change_user():
index = input('请输入要修改的名片序号')
if check_index(index):
index = int(index)
else:
return
user = user_list[index]
print('您要修改的信息是:\nname:{name},phone:{phone},wx:{wx}'.format(**user))
new_name = input('请输入新的名字:')
for i in user_list:
if i['name'] == new_name:
print('修改失败,新名字已存在')
return
new_phone = input('请输入新的手机号:')
new_wx = input('请输入新的微信号:')
user['name'] = new_name
user['phone'] = new_phone
user['wx'] = new_wx
print(user_list)
def select_user():
name = input('请输入要查询的名片名字:')
for i in user_list:
if i['name'] == name:
print('您查询到的信息是:\nname:{name},phone:{phone},wx:{wx}'.format(**i))
else:
print('输入的名字不存在')
def showall_user():
print('序号 姓名 手机号 微信号')
for i,user in enumerate(user_list):
print(i,'\t'+'\t'+user['name'].ljust(5),user['phone'].ljust(5),user['wx'].ljust(5))
def exit_sys():
ans = input('请确认您是否要退出--(YES or NO):')
if ans.upper() == 'YES':
print('您已成功退出,欢迎下次继续使用!!!')
exit()
elif ans.upper() == 'NO':
print('返回主界面')
else:
print('您的输入有误,请输入yes或者no(大小写都可以)')
def start():
while True:
print("""------------------------------------------
名片管理系统
1.添加名片 4.查询名片
2.删除名片 5.显示所有的名片
3.修改名片 6.退出系统
------------------------------------------
""")
operator = input('请输入要进行的操作(数字):')
# 添加名片内容
if operator == '1':
add_user()
elif operator == '2':
del_user()
elif operator == '3':
change_user()
elif operator == '4':
select_user()
elif operator == '5':
showall_user()
elif operator == '6':
exit_sys()
else:
print('输入有误,请重新输入...')
start()
二、💯代码讲解
保存用户数据的列表文章来源:https://www.toymoban.com/news/detail-479238.html
user_list = [ {'name': '张三', 'phone': '123', 'wx': '321'}, {'name': '李四', 'phone': '456', 'wx': '654'} ]创建一个列表里面先存放2组字典,有一个预设置值文章来源地址https://www.toymoban.com/news/detail-479238.html
添加用户的方法 def add_user(): # 获取用户信息 name = input('请输入姓名:') # 输入姓名后 验证是否重复 for i in user_list: if i['name'] == name: print('此用户名已重复') return # 这个可以直接结束整个函数 phone = input('请输入手机号:') wx = input('请输入微信号:') # 保存数据 user = {'name': name, 'phone': phone, 'wx': wx} user_list.append(user) print(user_list)
这个类是单独创建的一个方法,创建这个方法方便后面直接调用,不需要再写检测数字是否合法的方法 # 专门检测输入的数字是否合法 def check_index(i): if not i.isdigit(): print('您输入的数字不合法') return False index = int(i) if index < 0 or index > len(user_list) - 1: print('您输入的名片序号不在有效范围内') return False return True
删除名片的方法,这里检测用户输入的数字是否合法直接调用 check_index方法即可 def del_user(): index = input('请输入要删除的名片序号') if check_index(index): index = int(index) else: return ans = input('您是否真的要删除?(YES or NO):') if ans.upper() == 'YES': user_list.pop(index) print(user_list)
这里是修改名片的方法,需要注意的就是 展示信息的时候 用的是拆包这样方便 而且代码更优化 def change_user(): index = input('请输入要修改的名片序号') if check_index(index): index = int(index) else: return user = user_list[index] # 展示修改的信息 使用拆包 print('您要修改的信息是:\nname:{name},phone:{phone},wx:{wx}'.format(**user)) new_name = input('请输入新的名字:') # 判断新的名字是否重复 for i in user_list: if i['name'] == new_name: print('修改失败,新名字已存在') return new_phone = input('请输入新的手机号:') new_wx = input('请输入新的微信号:') user['name'] = new_name user['phone'] = new_phone user['wx'] = new_wx print(user_list)
这里写的是查询名片的方法,展示信息的时候也使用了 拆包的方法 def select_user(): name = input('请输入要查询的名片名字') for i in user_list: if i['name'] == name: print('您查询到的信息是:\nname:{name},phone:{phone},wx:{wx}'.format(**user)) else: print('输入的名字不存在')
这里写的是查询所有信息的方法 def showall_user(): print('序号 姓名 手机号 微信号') for i,user in enumerate(user_list): print(i,'\t'+'\t'+user['name'].ljust(5),user['phone'].ljust(5),user['wx'].ljust(5))
这里写的是退出系统的方法 def exit_sys(): ans = input('请确认您是否要退出--(YES or NO):') if ans.upper() == 'YES': print('您已成功退出,欢迎下次继续使用!!!') # return True 这个办法就是 在后面还要加一个条件判断 判断函数返回True就 break exit() elif ans.upper() == 'NO': print('返回主界面') else: print('您的输入有误,请输入yes或者no(大小写都可以)')
这里就是启动程序的方法,首先使用print进行布局 其次 就是输入1-6 调用上面的各个部分的功能的函数 def start(): while True: print("""------------------------------------------ 名片管理系统 1.添加名片 4.查询名片 2.删除名片 5.显示所有的名片 3.修改名片 6.退出系统 ------------------------------------------ """) operator = input('请输入要进行的操作(数字):') # 添加名片内容 if operator == '1': add_user() elif operator == '2': del_user() elif operator == '3': change_user() elif operator == '4': select_user() elif operator == '5': showall_user() elif operator == '6': exit_sys() else: print('输入有误,请重新输入...')
到了这里,关于python管理系统(大作业)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!