该函数名为 search(),实现学生信息的查询功能。

首先,函数判断是否存在学生信息文件 filename

  1. 若存在文件:

    • 询问用户选择查询模式:按ID查询 (1) 或按姓名查询 (2)。
    • 根据用户选择的模式,获取相应的查询条件 (ID 或 姓名)。
    • 打开学生信息文件,逐行读取每个学生信息并将其转换为字典类型。
    • 遍历读取的字典,根据用户输入的查询条件,将符合条件的学生信息添加到 student_query 列表中。
    • 调用 show_query() 函数展示查询结果。
    • 清空 student_query 列表。
    • 询问用户是否继续查询。若用户选择继续查询 (y),则继续循环执行查询操作;若选择不继续查询 (n),则结束查询操作。
  2. 若不存在文件:

    • 打印提示信息 "无学生信息" 并返回。

该函数通过循环执行查询操作,并使用字典存储学生信息,实现了灵活的查询功能。

以下是该函数的代码示例:

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

该代码示例演示了如何根据用户选择进行不同的查询操作,并提供了简单的用户交互功能。

Python学生信息查询功能实现

原文地址: https://www.cveoy.top/t/topic/f3tr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录