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实现全角半角转换的方法
Aug 18 Python
Python设置默认编码为utf8的方法
Jul 01 Python
Python中交换两个元素的实现方法
Jun 29 Python
python之文件读取一行一行的方法
Jul 12 Python
python 3.6.5 安装配置方法图文教程
Sep 18 Python
python 处理数字,把大于上限的数字置零实现方法
Jan 28 Python
python程序控制NAO机器人行走
Apr 29 Python
Python3实现二叉树的最大深度
Sep 30 Python
python误差棒图errorbar()函数实例解析
Feb 11 Python
Python函数基本使用原理详解
Mar 19 Python
Django filter动态过滤与排序实现过程解析
Nov 26 Python
用python查找统一局域网下ip对应的mac地址
Jan 13 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注入点构造代码
2008/06/14 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
2019/03/21 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
基于jquery的放大镜效果
2012/05/30 Javascript
jQuery.Validate验证库的使用介绍
2013/04/26 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
详解Angualr 组件间通信
2017/01/21 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
2020/01/16 Javascript
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
解决Python一行输出不显示的问题
2018/12/03 Python
python反编译学习之字节码详解
2019/05/19 Python
详解Python的循环结构知识点
2019/05/20 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
Python通过字典映射函数实现switch
2020/11/06 Python
为什么UNION ALL比UNION快
2016/03/17 面试题
高中生学习生活的自我评价
2013/11/27 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
毕业班联欢会主持词
2014/03/27 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书
Python insert() / append() 用法 Leetcode实战演示
2021/03/31 Python