谁来帮我看看,刚学python,有道题实在想不出来,各位大能帮我看看

使用字典来制作一个同学录,要求有学号、姓名、专业、班级等信息。键必须具有唯一性,因此学号作为键。用户可以通过关键字来查询对应的同学信息,例如用户输入姓名王强,若有该同学存在,则返回他的相关信息,否则提示未找到该同学的信息。

a = int(input("请输入学生人数:"))
num_list = []
name_list = []
d = {}
for i in range(a):
    num = input("学号为:")
    name = input("姓名为:")
    press = input("专业为:")
    grade = input("班级为:")

    print("\n")
    num_list.append(num)
    name_list.append([name, press, grade])

d = dict(zip(num_list, name_list))


n = input('请输入学生姓名')
nd = {}
for i in d.values():
    nd[i[0]] = i[1::]
print(nd.get(n, '找不到'))

如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢

用字典保存学生信息。

students = [{'1001': ['wang', 'EE', 'class1'], '1002':['li', 'EE', 'class1'],'2001':['zhao','CE','class2'],'3002':['liu','PE','class3'],'2003':['yang','CE','class2']}]
flag=False
while not flag:
    print('1.用学号查询。\n2.用姓名、专业、班级查询。\n')
    inp=input('输入1或2,其他退出:')
    if inp=='1':
        id=input('输入学号:')
        for st in students:
            for k, v in st.items():
                if id==k:
                    print(k,*v)
                    flag=True
        if flag==False:
            print('未找到该同学的信息')
    elif inp=='2':
        kw =input('输入其他关键字:')
        for st in students:
            for k,v in st.items():
                if kw in v:
                    print(k, *v)
                    flag=True
        if flag==False:
            print('未找到该同学的信息')
    else:
        print('查询结束。')
        flag=True