qq_38436167 2019-10-27 16:54 采纳率: 0%
浏览 347
已结题

这个python程序删除,修改,查询操作应该怎么写?

import pickle
class Memo(object):
    def __init__(self, name, date, thing):
        self._id = 0
        self.date = date
        self.name = name
        self.thing = thing


    @property
    def id(self):
        return self._id

    @id.setter
    def id(self, val):
        self._id = val

class MemoAdmin(object):

    def __init__(self):
        self.memo_list = self.load()


    def add(self):
        # self.memo_list =>属性进行操作
        memo_date_list = MemoAdmin.deal_input_data()
        memo = Memo(*memo_date_list)
        memo.id = len(self.memo_list) + 1
        self.memo_list.append(memo)



    def del_memo(self):





    def modify(self):
        pass
    def query(self):



    @staticmethod
    def deal_input_data():
        input_memo = input('例如:1.1-cym-逛街:').strip()
        input_list = input_memo.split('-')
        if len(input_list) == 3:
            return input_list

    def print_all(self):
        if len(self.memo_list) == 0:
            print('备忘录中没有记录,请手动添加')
        for memo in self.memo_list:
            print(memo.id, memo.date, memo.name, memo.thing)


    def save(self):
        with open('memo.pkl', 'wb') as file:
            file.write(pickle.dumps(self.memo_list))
        return True


    def load(self):
        try:
            with open('db.pkl', 'rb') as file:
                memo_list = pickle.loads(file.read())
        except Exception as e:
            memo_list = []
        return memo_list


def main():
    admin = MemoAdmin()
    menu_list = {
        '1':'add',
        '2':'del_memo',
        '3':'modify',
        '4':'query',
        '5':'print_all',
        '6':'quit'

    }
    print(menu_list)
    while True:
        select = input('请选择:')
        if select == '6':
            admin.save()
            break
        if select in menu_list:
            run = getattr(admin, menu_list.get(select), None)
            if run:
                run()
            else:
                print('选项不存在')

        else:
            print('请重新输入')

if __name__ == "__main__":
    main()



这个python程序删除,修改,查询操作应该怎么写?最好有完整的代码

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-10-27 22:28
    关注
    def del_memo(self):
      todel = input("请输入要删除的id")
      for i in self.memo_list:
        if todel == i.id:
          self.memo_list.remove(i)
          break
    

    修改、查询的思路类似

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料