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处理中文编码和判断编码示例
Feb 26 Python
Python3实现的字典遍历操作详解
Apr 18 Python
python多进程实现文件下载传输功能
Jul 28 Python
Django 登陆验证码和中间件的实现
Aug 17 Python
元组列表字典(莫烦python基础)
Apr 03 Python
使用Python实现毫秒级抢单功能
Jun 06 Python
Python Pandas对缺失值的处理方法
Sep 27 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 Python
Python使用扩展库pywin32实现批量文档打印实例
Apr 09 Python
Python基于time模块表示时间常用方法
Jun 18 Python
termux中matplotlib无法显示中文问题的解决方法
Jan 11 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简介
2006/10/09 PHP
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
php switch语句多个值匹配同一代码块的实现
2014/03/03 PHP
PHP中常用的输出函数总结
2014/09/22 PHP
PHP常用工具类大全附全部代码下载
2015/12/07 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
详解node.js平台下Express的session与cookie模块包的配置
2017/04/26 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
python中xrange和range的区别
2014/05/13 Python
python 迭代器和iter()函数详解及实例
2017/03/21 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
斯凯奇澳大利亚官网:SKECHERS澳大利亚
2018/03/31 全球购物
SQL Server 2000数据库的文件有哪些,分别进行描述。
2015/11/09 面试题
大学生求职简历的自我评价范文
2013/10/12 职场文书
新郎婚宴答谢词
2014/01/19 职场文书
教育基金募捐倡议书
2014/05/14 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
邀请函怎么写
2015/01/30 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
Redis的字符串是如何实现的
2021/10/24 Redis