Python学生信息查询功能实现
该函数名为 search(),实现学生信息的查询功能。
首先,函数判断是否存在学生信息文件 filename。
-
若存在文件:
- 询问用户选择查询模式:按ID查询 (1) 或按姓名查询 (2)。
- 根据用户选择的模式,获取相应的查询条件 (ID 或 姓名)。
- 打开学生信息文件,逐行读取每个学生信息并将其转换为字典类型。
- 遍历读取的字典,根据用户输入的查询条件,将符合条件的学生信息添加到
student_query列表中。 - 调用
show_query()函数展示查询结果。 - 清空
student_query列表。 - 询问用户是否继续查询。若用户选择继续查询 (y),则继续循环执行查询操作;若选择不继续查询 (n),则结束查询操作。
-
若不存在文件:
- 打印提示信息 "无学生信息" 并返回。
该函数通过循环执行查询操作,并使用字典存储学生信息,实现了灵活的查询功能。
以下是该函数的代码示例:
def search():
student_query = []
while True:
id = ''
name = ''
if os.path.exists(filename):
mode = input('按ID查找请按1,按姓名查找请按2:')
if mode == '1':
id = input('请输入学生ID:')
elif mode == '2':
name = input('请输入学生姓名:')
else:
print('输入有误,请重新输入')
search()
with open(filename, 'r', encoding='utf-8') as file:
student = file.readlines()
for item in student:
d = dict(eval(item))
if id != '':
if d['id'] == id:
student_query.append(d)
elif name != '':
if d['name'] == name:
student_query.append(d)
show_query(student_query)
# 清空列表
student_query.clear()
answer = input('是否继续查询?y/n')
if answer == 'y':
continue
else:
break
else:
print('无学生信息')
return
该代码示例演示了如何根据用户选择进行不同的查询操作,并提供了简单的用户交互功能。
原文地址: https://www.cveoy.top/t/topic/f3tr 著作权归作者所有。请勿转载和采集!