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
    

    修改、查询的思路类似

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。