该函数实现了一个简单的学生信息查询系统,允许用户根据学生ID或姓名进行搜索,并将查询结果打印出来。

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

功能描述:

  1. 用户选择查询方式: 用户可以选择按ID或姓名进行搜索。
  2. 输入查询信息: 用户根据选择输入学生ID或姓名。
  3. 读取学生信息文件: 函数从指定的 filename 文件中读取学生信息。
  4. 匹配查询条件: 函数遍历学生信息列表,根据用户的查询条件进行匹配。
  5. 展示查询结果: 将匹配到的学生信息展示给用户。
  6. 循环查询: 用户可以选择继续查询或退出。

代码说明:

  • os.path.exists(filename): 检查学生信息文件是否存在。
  • input(): 获取用户输入。
  • eval(item): 将字符串形式的学生信息转换为字典类型。
  • student_query.append(d): 将匹配到的学生信息添加到查询结果列表中。
  • show_query(student_query): 展示查询结果的函数(需要根据实际情况编写)。
  • student_query.clear(): 清空查询结果列表。

注意:

  • 该代码示例需要用户自行编写 show_query() 函数来展示查询结果。
  • 该代码使用 eval() 函数将字符串转换为字典,需要注意安全问题,避免将不可信的字符串传递给 eval() 函数。
Python学生信息查询系统 - 按ID或姓名搜索

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

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