预览通讯录系统最终效果

首先,进行需求分析,整个系统功能,分为6个板块,功能如下:
① 添加学员信息
② 删除学员信息
③ 修改学员信息
④ 查询学员信息
⑤ 遍历所有学员信息
⑥ 退出系统
系统共6个功能,用户根据自己需求选取
其次,根据每个部分功能,进行一步步实现。
① 显示功能界面------让用户知道这个是干嘛用的。
② 用户输入功能序号-----1 2 3 4 5 6
③ 根据用户输入的功能序号,执行不同的功能(函数)----也就是增删改查。
☆ 定义函数------涉及各个不同功能的定义,内部功能怎么实现。
☆ 调用函数------涉及各个不同功能的调用,内部功能是否实现。
注意:
模块化的编程思想是最早期的编程思想,强调把一个系统分解为若干个功能,每个功能就是一个模块(函数)。当所有功能开发完毕后,则系统就完成了。
开始写代码:
① 显示功能界面-----print输入显示的内容。
② 提示用户输入要操作的功能编号--------input让用户输入编号。
③ 根据用户输入的序号执行相关功能 --------- if...elif...else
④ 如何让程序一直执行下去,而不是选择某个功能后,程序就退出了 -------while True
⑤ 根据用户输入的序号,完成系统中的每一个功能
所有功能都有使用前提:必须共享一套数据 -------info = [{}, {}, {}]
☆ 学员信息添加功能--------(add_student())
显示功能界面
先 定义函数`print_info`,负责显示系统功能。
相关链接Python---函数的作用,定义,使用步骤(调用步骤)-CSDN博客
def print_info():
print('-' * 20)
print('欢迎登录学员管理系统')
print('1: 添加学员信息')
print('2: 删除学员信息')
print('3: 修改学员信息')
print('4: 查询学员信息')
print('5: 遍历输出所有学员信息')
print('6: 退出系统')
print('-' * 20)
print_info()
写完先打印看看效果

继续
用户输入序号,选择功能---------使用input获取用户输入序号---要加int变整型:
相关链接Python数据类型转换-CSDN博客
Python中的标准输入-----input()-CSDN博客
user_num = int(input('请选择您需要的功能序号:'))

根据用户选择,执行不同的功能----------使用if判断用户要实现的功能
相关链接 Python---if选择判断结构、嵌套结构(if elif else)_python多重if嵌套-CSDN博客
if user_num == 1:
print('添加学员信息')
elif user_num == 2:
print('删除学员信息')
elif user_num == 3:
print('修改学员信息')
elif user_num == 4:
print('查询学员信息')
elif user_num == 5:
print('查询学员信息')
elif user_num == 6:
print('退出系统')
else:
print('信息输入错误')
循环输出功能菜单,直至用户手工退出
① 用户选择系统功能的代码需要循环使用,直到用户主动退出系统。
② 如果用户输入1-6以外的数字,需要提示用户。
相关链接Python---死循环概念---while True-CSDN博客
Python---if选择判断结构、嵌套结构(if elif else)_python多重if嵌套-CSDN博客
while True:
print_info()
user_num = int(input('请输入您要执行的功能序号:'))
if user_num == 1:
print('添加学员信息')
elif user_num == 2:
print('删除学员信息')
elif user_num == 3:
print('修改学员信息')
elif user_num == 4:
print('查询学员信息')
elif user_num == 5:
print('查询学员信息')
elif user_num == 6:
print('退出系统')
else:
print('信息输入错误')
☆ 定义全局列表,保存学员信息
所有功能函数都是操作学员信息,所有存储所有学员信息应该是一个全局变量,数据类型为列表。
相关链接 Python--列表及其应用场景---增、删、改、查。-CSDN博客
info = []
后续列表结构如下:
info = [{'name':'Tom', 'age':18, 'mobile':'13578664321'}, {'name':'Mary', 'age':18, 'mobile':'19920187732'}, {'name':'Jennifier', 'age':18, 'mobile':'18862357791'}]
添加学员信息代码实现
需求分析: 接收用户输入学员信息,并保存 判断是否添加学员信息 如果学员姓名已经存在,则报错提示 如果学员姓名不存在,则准备空字典,将用户输入的数据追加到字典 将用户字典数据追加到全局学员信息列表,最后,if条件成立的位置调用该函数
相关链接Python---函数的作用,定义,使用步骤(调用步骤)-CSDN博客
Python中的标准输入-----input()-CSDN博客
Python---global关键字---设置全局变量-CSDN博客
Python-----for循环基本语法及其应用---对序列进行遍历循环--内部会自动更新计数器(类似while循环里面的 i += 1)-CSDN博客
Python--列表及其应用场景---增、删、改、查。-CSDN博客
Python---字典的增、删、改、查操作-CSDN博客
add_info函数代码实现
def add_info():
""" 添加学员信息 """
name = input('请输入学员姓名:')
age = input('请输入学员年龄:')
mobile = input('请输入学员电话:')
global info
for i in info:
if name == i['name']:
print('该用户已经存在!')
return
info_dict = {}
info_dict['name'] = name
info_dict['age'] = age
info_dict['mobile'] = mobile
info.append(info_dict)
print(info)
删除学员信息代码实现
需求分析按用户输入的学员姓名进行删除 用户输入目标学员姓名 检查这个学员是否存在 如果存在,则列表删除这个数据 如果不存在,则提示“该用户不存在” 对应的if条件成立的位置调用该函数
python---for循环结构中的else结构(是同级关系)-CSDN博客相关链接 python---for循环结构中的else结构(是同级关系)-CSDN博客
Python--列表及其应用场景---增、删、改、查。-CSDN博客
del_info函数代码实现
# 删除学员
def del_info():
"""删除学员"""
# 1. 用户输入要删除的学员的姓名
del_name = input('请输入要删除的学员的姓名:')
global info
# 2. 判断学员是否存在:如果输入的姓名存在则删除,否则报错提示
for i in info:
if del_name == i['name']:
info.remove(i)
break
else:
print('该学员不存在')
print(info)
修改学员信息代码实现
需求分析 用户输入目标学员姓名 检查这个学员是否存在 如果存在,则修改这位学员的信息,例如手机号 如果不存在,则报错 对应的if条件成立的位置调用该函数
Python--列表及其应用场景---增、删、改、查。-CSDN博客相关链接 Python--列表及其应用场景---增、删、改、查。-CSDN博客
python---for循环结构中的else结构(是同级关系)-CSDN博客
modify_info函数代码实现
# 修改函数
def modify_info():
"""修改函数"""
# 1. 用户输入要修改的学员的姓名
modify_name = input('请输入要修改的学员的姓名:')
global info
# 2. 判断学员是否存在:如果输入的姓名存在则修改手机号,否则报错提示
for i in info:
if modify_name == i['name']:
i['mobile'] = input('请输入新的手机号:')
break
else:
print('该学员不存在')
print(info)
查询学员信息代码实现
需求分析 用户输入目标学员姓名 检查学员是否存在 如果存在,则显示这个学员的信息 如果不存在,则报错提示 对应的if条件成立的位置调用该函数
相关链接 python---for循环结构中的else结构(是同级关系)-CSDN博客
Python---global关键字---设置全局变量-CSDN博客
search_info函数代码实现
# 查询学员
def search_info():
"""查询学员"""
# 1. 输入要查找的学员姓名:
search_name = input('请输入要查找的学员姓名:')
global info
# 2. 判断学员是否存在:如果输入的姓名存在则显示这位学员信息,否则报错提示
for i in info:
if search_name == i['name']:
print('查找到的学员信息如下:----------')
print(f"该学员的学号是{i['id']}, 姓名是{i['name']}, 手机号是{i['mobile']}")
break
else:
print('该学员不存在')
打印所有学员信息(print_all()函数代码实现)
# 显示所有学员信息
def print_all():
""" 显示所有学员信息 """
global info
for i in info:
print(f"姓名:{i['name']},年龄:{i['age']},电话:{i['mobile']}")
退出学员管理系统
相关链接
Python--循环中的两大关键词 break 与 continue-CSDN博客
Python----break关键字对while...else结构的影响-CSDN博客
Python---break关键字对for...else结构的影响-CSDN博客
elif user_num == 6:
flag = input('确认退出么? 确认请输入【yes】:')
if flag == 'yes':
break
所有都按照功能分为一个个不同板块,在每个版块内,结合以往掌握知识点,一步步写出来即可。
整体代码:



















