Python编写电话薄实现增删改查功能


Posted in Python onMay 07, 2016

初学python,写一个小程序练习一下。主要功能就是增删改查的一些功能。主要用到的技术:字典的使用,pickle的使用,io文件操作。代码如下:

import pickle

#studentinfo = {'netboy': '15011038018',\
#                'godboy': '15011235698'}
studentinfo = {}

FUNC_NUM = 5

def write_file(value):
    file = open('student_info.txt', 'wb')
    file.truncate()
    pickle.dump(value, file, True)
    file.close

def read_file():
    global studentinfo
    file = open('student_info.txt', 'rb')
    studentinfo = pickle.load(file)
    file.close()

def search_student():
    global studentinfo
    name = input('please input student\'s name:')
    if name in studentinfo:
        print('name:%s phone:%s' % (name, studentinfo[name]))
    else:
        print('has no this body')

def delete_student():
    global studentinfo
    name = input('please input student\'s name:')
    if name in studentinfo:
        studentinfo.pop(name)
        write_file(studentinfo)
    else:
        print('has no this body')

def add_student():
    global studentinfo
    name = input('please input student\'s name:')
    phone = input('please input phone:')
    studentinfo[name] = phone
    write_file(studentinfo)

def modifiy_student():
    global studentinfo
    name = input('please input student\'s name:')
    if name in studentinfo:
        phone = input('please input student\'s phone:')
        studentinfo[name] = phone
    else:
        print('has no this name')

def show_all():
    global studentinfo
    for key, value in studentinfo.items():
        print('name:' + key + 'phone:' + value)

func = {1 : search_student, \
    2 : delete_student, \
    3 : add_student, \
    4 : modifiy_student, \
    5 : show_all}

def menu():
    print('-----------------------------------------------');
    print('1 search student:')
    print('2 delete student:')
    print('3 add student:')
    print('4 modifiy student:')
    print('5 show all student')
    print('6 exit')
    print('-----------------------------------------------');

def init_data():
    global studentinfo
    file = open('student_info.txt', 'rb')
    studentinfo = pickle.load(file)
    #print(studentinfo)
    file.close()

init_data()
while True:
    menu()
    index = int(input())
    if index == FUNC_NUM + 1:
        exit()
    elif index < 1 or index > FUNC_NUM + 1:
        print('num is between 1-%d' % (FUNC_NUM + 1))
        continue
    #print(index)
    func[index]()

以上就是本文的全部内容,希望对大家学习Python程序设计有所帮助。

Python 相关文章推荐
Python使用百度API上传文件到百度网盘代码分享
Nov 08 Python
在Python程序中操作文件之flush()方法的使用教程
May 24 Python
R vs. Python 数据分析中谁与争锋?
Oct 18 Python
Python简单计算数组元素平均值的方法示例
Dec 26 Python
python 构造三维全零数组的方法
Nov 12 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 Python
OpenCV+face++实现实时人脸识别解锁功能
Aug 28 Python
python之yield和Generator深入解析
Sep 18 Python
基于python实现对文件进行切分行
Apr 26 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
如何解决安装python3.6.1失败
Jul 01 Python
基于python实现操作redis及消息队列
Aug 27 Python
Python的dict字典结构操作方法学习笔记
May 07 #Python
Python 类与元类的深度挖掘 II【经验】
May 06 #Python
Python 类与元类的深度挖掘 I【经验】
May 06 #Python
Python 迭代器工具包【推荐】
May 06 #Python
Python中内建函数的简单用法说明
May 05 #Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 #Python
Python环境下搭建属于自己的pip源的教程
May 05 #Python
You might like
从零开始的异世界生活:第二季延期后,B站上架了第二部剧场版
2020/05/06 日漫
PHP number_format() 函数定义和用法
2012/06/01 PHP
探讨:如何使用PhpDocumentor生成文档
2013/06/25 PHP
php数组转成json格式的方法
2015/03/09 PHP
php反射类ReflectionClass用法分析
2016/05/12 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
2010/09/03 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
2014/03/13 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
Vue开发之封装上传文件组件与用法示例
2019/04/25 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
python基础while循环及if判断的实例讲解
2017/08/25 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
numpy实现RNN原理实现
2021/03/02 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
六年级学生评语
2014/04/22 职场文书
指导教师评语
2014/04/26 职场文书
2014年小学教学工作总结
2014/11/13 职场文书
大学同学聚会感言
2015/07/30 职场文书