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 相关文章推荐
[原创]使用豆瓣提供的国内pypi源
Jul 02 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
Python实现按照指定要求逆序输出一个数字的方法
Apr 19 Python
解决python写入mysql中datetime类型遇到的问题
Jun 21 Python
基于随机梯度下降的矩阵分解推荐算法(python)
Aug 31 Python
python3学生名片管理v2.0版
Nov 29 Python
对pandas处理json数据的方法详解
Feb 08 Python
详解python和matlab的优势与区别
Jun 28 Python
一篇文章搞定Python操作文件与目录
Aug 13 Python
应用OpenCV和Python进行SIFT算法的实现详解
Aug 21 Python
python 爬取豆瓣网页的示例
Apr 13 Python
Python实现Telnet自动连接检测密码的示例
Apr 16 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
php并发加锁示例
2016/10/17 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
2017/06/09 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
vue实现评价星星功能
2020/06/30 Javascript
js实现限定区域范围拖拉拽效果
2020/11/20 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
用python 制作图片转pdf工具
2015/01/30 Python
python中常用检测字符串相关函数汇总
2015/04/15 Python
python查找指定具有相同内容文件的方法
2015/06/28 Python
python enumerate函数的使用方法总结
2017/11/15 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
Python迭代器模块itertools使用原理解析
2019/12/11 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
New Balance美国官网:运动鞋和健身服装
2017/04/11 全球购物
Champs Sports加拿大:北美最大的以商场为基础的专业运动鞋和服装零售商之一
2018/05/01 全球购物
结婚周年感言
2014/02/24 职场文书
小学教师评语大全
2014/04/23 职场文书
法制宣传月活动总结
2014/04/29 职场文书
市政管理求职信范文
2014/05/07 职场文书
同学聚会邀请函
2015/01/30 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
导游词之包公祠
2019/11/25 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL