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中的元祖(Tuple)和字典(Dict)
Apr 21 Python
Python2随机数列生成器简单实例
Sep 04 Python
TensorFlow打印tensor值的实现方法
Jul 27 Python
python实现五子棋小游戏
Mar 25 Python
python实现kmp算法的实例代码
Apr 03 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
利用Python复制文件的9种方法总结
Sep 02 Python
Python中输入和输出(打印)数据实例方法
Oct 13 Python
tensorflow 限制显存大小的实现
Feb 03 Python
基于spring boot 日志(logback)报错的解决方式
Feb 20 Python
python实现单张图像拼接与批量图片拼接
Mar 23 Python
django跳转页面传参的实现
Sep 17 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
别人整理的服务器变量:$_SERVER
2006/10/20 PHP
php递归json类实例
2014/12/02 PHP
PHP中的事务使用实例
2015/05/26 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
Alliance vs Liquid BO3 第二场2.13
2021/03/10 DOTA
使用正则替换变量
2007/05/05 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
js中数组排序sort方法的原理分析
2014/11/20 Javascript
jQuery实现平滑滚动的标签分栏切换效果
2015/08/28 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
详解Python网络爬虫功能的基本写法
2016/01/28 Python
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
Python使用线程来接收串口数据的示例
2019/07/02 Python
浅谈Python type的使用
2019/11/19 Python
django项目中新增app的2种实现方法
2020/04/01 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
利用Node实现HTML5离线存储的方法
2020/10/16 HTML / CSS
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
服装公司总经理岗位职责
2013/11/30 职场文书
物流创业计划书
2014/02/01 职场文书
装饰活动策划方案
2014/02/11 职场文书
检讨书大全
2015/01/27 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
2015年出纳年终工作总结
2015/05/14 职场文书
离婚代理词范文
2015/05/23 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python