现在给出一批学生信息,包括学号,姓名,手机号和邮箱地址,要求能实现按指定条件查询学生记录。 Input 包括四部分 第一部分:一个整数m(1<=m<=1000),代表有m条学生记录 第二部分:m行,每一行代表一条学生记录,包括学号(由8位数字组成),姓名(不超过10个字符),手机号(11位数字)和邮箱(不超过20位字符) 第三部分:一个整数n(1<=m<=100),代表有n次查询 第四部分:n行,每一行包括两部分:一个整数k(代表查询方式,1按学号,2按手机号,3按邮箱)和一串字符(长度大于0小于20,代表查询关键字的值)
时间: 2024-03-11 10:50:16 浏览: 259
好的,我可以帮你实现这个功能。你可以将学生信息存储在一个列表中,然后根据查询条件进行筛选。
以下是一个示例代码,你可以根据自己的需求进行修改和完善:
```python
# 定义学生信息类
class Student:
def __init__(self, id, name, phone, email):
self.id = id
self.name = name
self.phone = phone
self.email = email
# 存储学生信息的列表
students = []
# 读入学生信息
m = int(input())
for i in range(m):
id, name, phone, email = input().split()
students.append(Student(id, name, phone, email))
# 查询学生信息
n = int(input())
for i in range(n):
k, value = input().split()
if k == '1': # 按学号查询
result = [s for s in students if s.id == value]
elif k == '2': # 按手机号查询
result = [s for s in students if s.phone == value]
elif k == '3': # 按邮箱查询
result = [s for s in students if s.email == value]
else:
print("查询方式错误!")
continue
# 输出查询结果
print("查询结果:")
if len(result) == 0:
print("无记录")
else:
for s in result:
print(s.id, s.name, s.phone, s.email)
```
希望能够帮到你!
阅读全文