#!/usr/bin/python
 #coding=utf-8
 import io
 import os
 import time

 FileRead  = io.open('callingcard','r',encoding='utf8')
 FileWrite = open('callingcard_copy','w+')
 CallingCard = eval(FileRead.read())

 def Judge(chioce):
     ': CallingCard_Append()
     ': CallingCard_Chance()
     ': CallingCard_del()
     ': CallingCard_Look()
     ': CallingCard_All()
     ': exit()
     elif chioce == 'c' or chioce == 'C': CallingCard_Chance()
     elif chioce == 'L' or chioce == 'l': CallingCard_Look()
     elif chioce == 'a' or chioce == 'A': CallingCard_Append()
     else :
         chioce = raw_input('你的输入有误 请重新输入')
         Judge(chioce)

 def CallingCard_Append():
     name   = raw_input('请输入姓名:\n')
     qq     = raw_input('请输入qq号:\n')
     wechat = raw_input('请输入微信号:\n')
     tel    = raw_input('请输入电话号码:\n')
     add    = raw_input('请输入地址:\n')
     CallingCard[name] = {}
     CallingCard[name]['QQ'] = qq
     CallingCard[name]['微信'] = wechat
     CallingCard[name]['电话'] = tel
     CallingCard[name]['住址'] = add
     print '已经添加成功'
     ExChange()

 def CallingCard_del():
     name = raw_input('请输入你要删除的名片:\n')
     if name not in CallingCard:
         print '你输入的用户不存在\n'
         CallingCard_del()
     else:
         CallingCard.pop(name)
         print '已成功删除'
     ExChange()

 def CallingCard_Chance():
     name = raw_input('请输入你要修改的名片:\n')
     if name not in CallingCard:
         print '你输入的名片不存在,'
         Button = raw_input('请输入正确的名字(C)或查看所以名片(L)\n')
         Judge(Button)
     else :
         chioce = raw_input('请输入你要修改的项目(姓名/QQ/微信/电话/地址):\n')
         content = raw_input('请输入你要替换的内容:\n')
         if chioce == '姓名':
             CallingCard[content] = CallingCard[name]
             CallingCard.pop(name)
         else :
             CallingCard[name].pop(chioce)
             CallingCard[name][chioce] = content

     ExChange()

 def CallingCard_Look():
     name = raw_input('请输入你要查看的用户:\n')
     if name not in CallingCard:
         print '你输入的用户不存在\n'
         choice = raw_input('请按L重新查询或者按A新增一个用户\n')
         Judge(choice)
     else :
         print '='*43,'Info of %s'%name,'='*43
         str ='''
         姓名:%s
         电话:%s
         QQ号:%s
         微信号:%s
         地址:%s
         '''
         print str %(name,CallingCard[name]['QQ'],CallingCard[name]['微信'],CallingCard[name]['电话'],CallingCard[name]['住址'])
     ExChange()

 def CallingCard_All():
     print '='*42,'用户信息管理系统','='*42
     num = 1
     str = '''
     编号:%s 姓名:%s QQ:%s 微信号:%s 电话:%s 地址:%s
     '''
     for i in CallingCard:
         print str %(num,i,CallingCard[i]['QQ'],CallingCard[i]['微信'],CallingCard[i]['电话'],CallingCard[i]['住址'])
         num += 1
     time.sleep(5)
     MenuShow()

 def ExChange():
     global FileWrite,FileRead
     CallingCardCopy = str(CallingCard)
     FileWrite.write(CallingCardCopy)
     FileWrite.close()
     FileRead.close()
     os.remove('callingcard')
     os.renames('callingcard_copy','callingcard')
     FileRead = io.open('callingcard', 'r', encoding='utf8')
     FileWrite = open('callingcard_copy', 'w+')
     time.sleep(5)
     MenuShow()

 def MenuShow():
     print '='*42,'用户信息管理系统','='*42
     print '[1]添加一个新的用户        [2]删除一个用户'
     print '[3]修改一个用户的信息      [4]查询一个用户'
     print '[5]显示所以的用户         [6]退出'
     chioce = raw_input('请输入你的选项\n')
     Judge(chioce)

 MenuShow()

选择判断模块还可以更简单一点,just so

python 简单的信息管理系统的更多相关文章

  1. Python实现简单用户注册信息管理系统

    运行效果: 注意:运行前请在同一目录下创建一个userdata.bin用于保存用户数据 源代码: 1 # coding:utf-8 2 ''' 3 用户注册信息管理系统 4 功能包括: 5 1.查看全 ...

  2. Java之从头开始编写简单课程信息管理系统

    编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法 详情可参考以下链接: https://www.cnblogs.com/dream0-0/p/10090828.h ...

  3. python 04 学生信息管理系统

    今天任务不多,做了学生信息管理系统1.0,使用字典存储学生个体信息,列表存储学生字典.注意dict定义要在循环体内,若定义成全局变量或循环体外,则旧数据会被新数据覆盖.dict属于可变类型数据,内容改 ...

  4. Python之小型信息管理系统

    #Author:msq #Time:2019/11/16 import re import os filename = "person.txt" def menu(): #输出菜单 ...

  5. python简单post信息

    最近学了点关于python的网络爬虫的知识,简单记录一下,这里主要用到了requests库和BeautifulSoup库 Requests is an elegant and simple HTTP ...

  6. 1、纯python编写学生信息管理系统

    1.效果图 2.python code: class studentSys(object): ''' _init_(self) 被称为类的构造函数或初始化方法, self 代表类的实例,self 在定 ...

  7. python之学生信息管理系统

    1 #!usr/bin/python 2 #encoding=utf-8 3 4 #1. 打印学生管理系统界面 5 def printStd(): 6 print ("*"*50) ...

  8. Java Swing设计简单商品信息管理系统(java swing+mysql+eclipse)

    一.概述 为了管理好商店库存信息,提升店铺管理工作效率,结合实际工作需要,设计和开发本系统,主要用于商店商品信息维护出入库等.包含商品库存信息查看.商品信息修改,新增商品信息,删除信息等功能. 二.功 ...

  9. 【python免费代码】设计一个简单的学生信息管理系统

    文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...

随机推荐

  1. IT轮子系列(五)——MVC API 文件上传,总有一款是你需要的

    前言 在对外提供的接口时,也常常需要提供上传文件的.在这篇文章中会描述三种上传方式. 1.第一款,通过Base64字符上传——PostFromBase64Str 首先,定义上传数据模型.对于模型的定义 ...

  2. 【深入理解Java内存模型】

    深入理解Java内存模型(一)--基础 深入理解Java内存模型(二)--重排序 深入理解Java内存模型(三)--顺序一致性 深入理解Java内存模型(四)--volatile 深入理解Java内存 ...

  3. eclipse中tomcat内存溢出设置

    Eclipse里启动Tomcat,配置内存大小 2009年12月11日 星期五 10:50 一般安装完eclipse之后,在安装目录下你应该可以看到有一个 eclipse.ini 文件,对了,就是在这 ...

  4. 第8章-Java集合 --- 概述

    第8章-Java集合 --- 概述 (1)Java集合类是一种特别有用的工具类,可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如 栈.队列等. (2)Java集合大致可分为Set.List ...

  5. kafka 集群

    在kafka中,我们能创建多种类型的集群,一般如下: 单节点——单个broker集群 单节点——多broker集群 多结点——多broker集群 kafka集群中主要有五个组件: Topic:主题主要 ...

  6. 如何卸载Centos自带jdk

    1.搜索安装的jdk: rpm -qa|grep jdk 结果如下: java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 java-1.6.0-openjdk ...

  7. tomcat jvm优化

    tomcat优化(全) (2012-09-26 10:12:59) 转载▼ 标签: 杂谈 分类: java 1.内存设置(VM参数调优)(1). Windows环境下,是tomcat解压版(执行sta ...

  8. Python版冒泡排序算法

    0 为什么写本文 一方面对经典排序算法冒泡排序进行复习,另一方面通过实际应用来检验python基础知识的掌握情况,包括range函数.len函数.for循环.if语句.函数定义与调用.列表的排序等知识 ...

  9. Java学习不走弯路教程(7.Eclipse环境搭建)

    7.Eclipse环境搭建 在前几章,我们熟悉了DOS环境下编译和运行Java程序,对于大规模的程序编写,开发工具是必不可少的.Java的开发工具比较常用的是Eclipse.在接下来的教程中,我们将基 ...

  10. Flask框架之 --- 我的第一个个人网站(雏形)

    现在还是个静态网站 , 而且这里的Flask也只是起到了提供虚拟web服务器的作用  , 下一步是实现数据库的连接 , 实现简单的动态访问.