Python学生信息查询系统 - 按ID或姓名搜索
该函数实现了一个简单的学生信息查询系统,允许用户根据学生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
功能描述:
- 用户选择查询方式: 用户可以选择按ID或姓名进行搜索。
- 输入查询信息: 用户根据选择输入学生ID或姓名。
- 读取学生信息文件: 函数从指定的
filename文件中读取学生信息。 - 匹配查询条件: 函数遍历学生信息列表,根据用户的查询条件进行匹配。
- 展示查询结果: 将匹配到的学生信息展示给用户。
- 循环查询: 用户可以选择继续查询或退出。
代码说明:
os.path.exists(filename): 检查学生信息文件是否存在。input(): 获取用户输入。eval(item): 将字符串形式的学生信息转换为字典类型。student_query.append(d): 将匹配到的学生信息添加到查询结果列表中。show_query(student_query): 展示查询结果的函数(需要根据实际情况编写)。student_query.clear(): 清空查询结果列表。
注意:
- 该代码示例需要用户自行编写
show_query()函数来展示查询结果。 - 该代码使用
eval()函数将字符串转换为字典,需要注意安全问题,避免将不可信的字符串传递给eval()函数。
原文地址: https://www.cveoy.top/t/topic/f3tq 著作权归作者所有。请勿转载和采集!