一、控制系统概要
同时实现两个小学生重要信息的管理控制系统:主要就机能有:
加进小学生重要信息删掉小学生重要信息修正小学生重要信息查阅小学生重要信息表明小学生重要信息选择退出现阶段控制系统二、关键步骤预测
表明机能介面采用者输出机能序列号对相同序列号的机能同时实现具体内容表达式(3.1 表述表达式、3.2 调用表达式)三、市场需求同时实现
表明机能介面info_print()采用者输出机能序列号 user_num = eval(input(请输出机能序列号:))依照采用者输出的机能序列号,继续执行相同的机能(表达式)加进小学生重要信息add_info()删掉小学生重要信息del_info()修正小学生重要信息modify_info()查阅小学生重要信息search_info()表明小学生重要信息print_all()四、具体内容同时实现
控制系统机能须要循环式采用,直至采用者输出6,才选择退出控制系统 机能介面部份:
# 表述两个表达式
def info_print():
print(——–请选择机能—–)
print(1、加进小学生)
print(2、删掉小学生)
print(3、修正小学生)
print(4、查阅小学生)
print(5、表明大部份小学生)
print(6、选择退出控制系统)
print(- * 20)
# 等候储存大部份小学生的重要信息
info = []
主要就部份标识符:
while True:
# 1、表明机能介面
info_print()
# 2、采用者输出机能序列号
user_num = eval(input(请输出机能序列号:))
# 3、依照采用者输出的机能序列号,继续执行相同的机能(表达式)
# 假如采用者输出1,就继续执行加进小学生的机能
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:
exit_flag = input(“确认要选择退出吗?yes/no?”)
if exit_flag == yes:
break
# print(选择退出控制系统)
else:
print(输出的功能序列号不确!)
所以依照下面的标识符,须要同时实现具体内容的机能表达式,主要就标识符部份如下表所示:
while True:
# 1、表明机能介面
info_print()
# 2、采用者输出机能序列号
user_num = eval(input(请输出机能序列号:))
# 3、依照采用者输出的机能序列号,继续执行相同的机能(表达式)
# 假如采用者输出1,就继续执行加进小学生的机能
if user_num == 1:
add_info()
# print(加进小学生)
elif user_num == 2:
del_info()
# print(删掉小学生)
elif user_num == 3:
modify_info()
# print(修正小学生)
elif user_num == 4:
search_info()
# print(查阅小学生)
elif user_num == 5:
print_all()
# print(表明大部份小学生)
elif user_num == 6:
exit_flag = input(“确认要选择退出吗?yes/no?”)
if exit_flag == yes:
break
# print(选择退出控制系统)
else:
print(输出的机能序列号不确!)
4.1 加进小学生重要信息的表达式
def add_info():
“””加进小学生表达式”””
# 接受采用者输出小学生重要信息
# 1、采用者输出:学号、姓名、手机号
new_id = input(“输出学号:”)
new_name = input(“输出姓名:”)
new_tel = input(“输出手机号:”)
# 2、判断是否加进这个小学生,假如小学生姓名已经存在报错提示,假如不存在则加进数据
global info
# 2.1 不允许姓名重复:判断采用者输出的姓名假如和列表里面字典的name值是相等的,则提示姓名重复
for i in info:
if new_name == i[name]:
print(“此采用者已经存在,请勿重复加进”)
# return 选择退出现阶段表达式,后面加进重要信息的标识符不继续执行
return
# 假如采用者输出的姓名不存在,则加进该小学生重要信息
info_dict = {<!– –>id: new_id, name: new_name, tel: new_tel}
# 将采用者输出的数据追加到字典
# 将这个小学生的字典数据追加到列表
info.append(info_dict)
print(info)
4.2 删掉小学生重要信息的表达式
def del_info():
“””删掉小学生”””
# 1、采用者输出要删掉的小学生的姓名
del_name = input(“请输出要删掉的小学生的姓名:”)
global info
# 2、判断小学生是否存在
# 2.1 声明info是全局变量
# 2.2 遍历列表
# 2.3 判断小学生是否存在,存在则继续执行删掉重要信息,break:不允许重名,所以删掉了两个,后面的不须要再遍历;不存在则提示
for i in info:
if del_name == i[name]:
info.remove(i)
break
else:
print(该小学生不存在!)
print(info)
4.3 修正小学生重要信息的表达式
def modify_info():
“””修正表达式”””
# 1、采用者输出要修正的小学生的姓名
modify_name = input(“请输出要修正的小学生的姓名:”)
global info
# 2、判断小学生是否存在,假如输出的姓名存在则修正手机号,否则则提示
for i in info:
if modify_name == i[name]:
i[tel] = input(“请输出新的手机号:”)
break
else:
print(“该小学生不存在”)
print(info)
4.4 查阅小学生信息的表达式
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[tel]}”)
break
else:
print(“该小学生不存在!”)
4.5 表明大部份小学生重要信息
def print_all():
“””表明大部份小学生重要信息”””
print(学号\t姓名\t手机号)
for i in info:
print(f”{i[id]}\t{i[name]}\t{i[tel]}”)
五、运行效果
加进和删掉小学生重要信息:1. 修正和查阅小学生重要信息
1. 表明大部份小学生重要信息和选择退出控制系统
六、完整标识符
# 表述两个表达式
def info_print():
print(——–请选择机能—–)
print(1、加进小学生)
print(2、删掉小学生)
print(3、修正小学生)
print(4、查阅小学生)
print(5、表明大部份小学生)
print(6、选择退出控制系统)
print(- * 20)
# 等候储存大部份小学生的重要信息
info = []
# 1、加进小学生重要信息的表达式
def add_info():
“””加进小学生表达式”””
# 接受采用者输出小学生重要信息
# 1、采用者输出:学号、姓名、手机号
new_id = input(“输出学号:”)
new_name = input(“输出姓名:”)
new_tel = input(“输出手机号:”)
# 2、判断是否加进这个小学生,假如小学生姓名已经存在报错提示,假如不存在则加进数据
global info
# 2.1 不允许姓名重复:判断采用者输出的姓名假如和列表里面字典的name值是相等的,则提示姓名重复
for i in info:
if new_name == i[name]:
print(“此采用者已经存在,请勿重复加进”)
# return 选择退出现阶段表达式,后面加进重要信息的标识符不继续执行
return
# 假如采用者输出的姓名不存在,则加进该小学生重要信息
info_dict = {<!– –>id: new_id, name: new_name, tel: new_tel}
# 将采用者输出的数据追加到字典
# 将这个小学生的字典数据追加到列表
info.append(info_dict)
print(info)
# 2、删掉小学生的重要信息
def del_info():
“””删掉小学生”””
# 1、采用者输出要删掉的小学生的姓名
del_name = input(“请输出要删掉的小学生的姓名:”)
global info
# 2、判断小学生是否存在
# 2.1 声明info是全局变量
# 2.2 遍历列表
# 2.3 判断小学生是否存在,存在则继续执行删掉重要信息,break:不允许重名,所以删除了两个,后面的不须要再遍历;不存在则提示
for i in info:
if del_name == i[name]:
info.remove(i)
break
else:
print(该小学生不存在!)
print(info)
# 3、修正小学生的重要信息
def modify_info():
“””修正表达式”””
# 1、采用者输出要修正的小学生的姓名
modify_name = input(“请输出要修改的小学生的姓名:”)
global info
# 2、判断小学生是否存在,假如输出的姓名存在则修正手机号,否则则提示
for i in info:
if modify_name == i[name]:
i[tel] = input(“请输出新的手机号:”)
break
else:
print(“该小学生不存在”)
print(info)
# 4、查阅小学生重要信息
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[tel]}”)
break
else:
print(“该小学生不存在!”)
# 5、表明大部份小学生重要信息
def print_all():
“””表明大部份小学生重要信息”””
print(学号\t姓名\t手机号)
for i in info:
print(f”{i[id]}\t{i[name]}\t{i[tel]}”)
# 控制系统机能须要循环式采用,直至采用者输出6,才选择退出控制系统
while True:
# 1、表明机能介面
info_print()
# 2、采用者输出机能序列号
user_num = eval(input(请输出机能序列号:))
# 3、依照采用者输出的机能序列号,继续执行相同的机能(表达式)
# 假如采用者输出1,就继续执行加进小学生的机能
if user_num == 1:
add_info()
# print(加进小学生)
elif user_num == 2:
del_info()
# print(删掉小学生)
elif user_num == 3:
modify_info()
# print(修正小学生)
elif user_num == 4:
search_info()
# print(查阅小学生)
elif user_num == 5:
print_all()
# print(表明大部份小学生)
elif user_num == 6:
exit_flag = input(“确认要选择退出吗?yes/no?”)
if exit_flag == yes:
break
# print(选择退出控制系统)
else:
print(输出的机能序列号不确!)