python列表中元素为字典进行数据库操作操作(第二周)

a=  [  {'name':'张三','age': 18 ,'address':'北京',"num":"001"},
       {'name':'张二','age': 48  ,'address':'上海',"num":"002"},
       {'name':'张大','age': 38 ,'address':'北京',"num":"003"}  ],存入字典,然后调取出来实现增删改查

class StudentAdmin():
    @staticmethod
    def Swrite():
        f=open("a.txt","w",encoding="utf-8")
        f.write()
        f.close()
    @staticmethod
    def Sread():
        f1=open("a.txt","r",encoding="utf-8")
        d=f1.read()
        print(d)
        f1.close()
        return d
a=StudentAdmin.Sread()
a=eval(a)
print(type(a))
while True:
    cz=int(input("请输入你的操作"))
    if cz==1:
        xh = input("请输入你的学号")
        if xh in (line["num"] for line in a):
            print("学号存在")
        else:
            zd={}
            zd["name"] = input("请输入你的名字")
            zd["age"] = int(input("请输入你的年龄"))
            zd["address"] = input("请输入你的地址")
            zd["num"] = input("输入序号")
            a.append(zd)
            print(a)
    elif cz==2:
        xh = input("请输入你的学号")
        if xh in (line["num"] for line in a):
            data=[]
            for line in a:
                if xh in str(line):
                    del line
                else:
                    data.append(line)
            a=data
            print(a)
        else:
            print("学号不存在")
    elif cz==3:
        xh = input("请输入你的学号")
        if xh in (line["num"] for line in a):
            for line in a:
                if xh in str(line):
                    line["name"]=input("请输入你的名字")
                    line["age"]=int(input("请输入年龄"))
                    line["address"]=input("请输入地址")
                    line["num"]=input("请输入序号")
            print(a)
        else:
            print("查无此人")
    elif cz==4:
        xh = input("请输入你的学号")
        if xh in (line["num"] for line in a):
            for line in a:
                if xh in str(line):
                    print(line)
        else:
            print("查无此人")
    elif cz==0:
        StudentAdmin.Swrite()
        break

猜你喜欢

转载自blog.csdn.net/qq_39112101/article/details/88078449