Python基础实践-密码管理系统实例

密码管理系统实例

 
需求分析:
    1.主界面(选项:密码生成,密码查询,密码修改,密码删除)
    2.密码生成:用户输入密码的描述,输入密码的长度,使用随机数生成一个比较复杂的密码,并且保存在列表中
    3.密码查询,用户输入关键词,根据关键词,查询对应的
    4.密码修改,先查询到,然后提示用户输入新的密码,确定后保存
    5.密码删除,首先根据关键词查找到你的密码,然后确定删除后删除
 
001版本:面向过程版本
    1.编写一个主函数,五个自定义函数,分别实现上述功能
    2.使用list套list存储每个密码项的关键词,使用list存储用户的密码
002版本:面向对象编程版本
    1.首先有一个类,专门管理密码
    2.密码管理者需要有五个方法,对应着上面的功能
    3.管理的是密码对象,所以需要密码的类,对应密码本的一个个密码
003版本:TXT文件存储版本
    1. 从002版本基础上改进
    2. 进入函数先加载
    3. 退出函数前保存
004版本:文件加密存储版本
    1.从003版本改进
    2.使用用户输入的密码解密文件,有异常则出错
    3.退出前加密保存到文件
 

文件浏览项目:

    001版本:递归显示文件夹下的所有文件:
        使用一个函数,递归调用自身
    002版本:生成器
        使用生成器,每次yield一个文件名
    003版本:区分广度优先搜索、深度优先搜索
        使用生成器+堆/队列
    004版本:文件判断
    
 
 
 
例如:如下图的文件夹形式,如果按照1234567,就是广度优先搜索(先搜索同级,再去搜索下一级)。如果按照1245367,就是深度优先搜索(一路挖到底,然后回来继续挖)
堆栈、队列
栈,先进后出,像杯子一样
队列,先进先出,像排队一样
 
 
原文地址:https://www.cnblogs.com/MarmaladeCat/p/3e2337ab2c1145758aa6e18639e51439.html