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制作检测Linux运行信息的工具的教程
Apr 01 Python
深入讲解Python中面向对象编程的相关知识
May 25 Python
python-str,list,set间的转换实例
Jun 27 Python
在Python中增加和插入元素的示例
Nov 01 Python
python3去掉string中的标点符号方法
Jan 22 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
python字典的常用方法总结
Jul 31 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
django中间键重定向实例方法
Nov 10 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 Python
python爬虫今日热榜数据到txt文件的源码
Feb 23 Python
python引入其他文件夹下的py文件具体方法
May 23 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简单统计字符串单词数量的方法
2015/06/19 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
理解javascript闭包
2015/12/15 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
vue组件三大核心概念图文详解
2019/05/30 Javascript
微信公众号平台接口开发 获取access_token过程解析
2019/08/14 Javascript
python转换字符串为摩尔斯电码的方法
2015/07/06 Python
Python变量和数据类型详解
2017/02/15 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
python中的逆序遍历实例
2019/12/25 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
DNA基因检测和分析:23andMe
2019/05/01 全球购物
应届毕业生求职信
2013/11/30 职场文书
工地门卫岗位职责
2013/12/30 职场文书
财务会计专业求职信
2014/06/09 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
教师教育教学随笔
2015/08/15 职场文书
思想品德课教学反思
2016/02/24 职场文书
高一作文之乐趣
2019/11/21 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
nginx请求限制配置方法
2021/07/09 Servers