• 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,就是深度优先搜索(一路挖到底,然后回来继续挖)
    堆栈、队列
    栈,先进后出,像杯子一样
    队列,先进先出,像排队一样
     
     
  • 相关阅读:
    Linux 技巧:让进程在后台可靠运行的几种方法
    What is /dev/null 2>&1?
    In the shell, what does “ 2>&1 ” mean?
    Linux命令之umask
    /dev/null简介
    What is special about /dev/tty?
    sed用法
    cobbler 更换dns和dhcp服务器为dnsmasq
    Linux下如何退出vim的一些常用命令总结
    nginx部署vue项目
  • 原文地址:https://www.cnblogs.com/MarmaladeCat/p/3e2337ab2c1145758aa6e18639e51439.html
Copyright © 2020-2023  润新知