博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【python】——小程序之电话薄
阅读量:7096 次
发布时间:2019-06-28

本文共 2885 字,大约阅读时间需要 9 分钟。

  初学python,写一个小程序练习一下。主要功能就是增删改查的一些功能。主要用到的技术:字典的使用,pickle的使用,io文件操作。代码如下:

1 import pickle 2  3 #studentinfo = {'netboy': '15011038018',\ 4 #                               'godboy': '15011235698'} 5 studentinfo = {} 6  7 FUNC_NUM = 5 8  9 def write_file(value):10         file = open('student_info.txt', 'wb')11         file.truncate()12         pickle.dump(value, file, True)13         file.close14 15 def read_file():16         global studentinfo17         file = open('student_info.txt', 'rb')18         studentinfo = pickle.load(file)19         file.close()20 21 def search_student():22         global studentinfo23         name = input('please input student\'s name:')24         if name in studentinfo:25                 print('name:%s phone:%s' % (name, studentinfo[name]))26         else:27                 print('has no this body')28 29 def delete_student():30         global studentinfo31         name = input('please input student\'s name:')32         if name in studentinfo:33                 studentinfo.pop(name)34                 write_file(studentinfo)35         else:36                 print('has no this body')37 38 def add_student():39         global studentinfo40         name = input('please input student\'s name:')41         phone = input('please input phone:')42         studentinfo[name] = phone43         write_file(studentinfo)44 45 def modifiy_student():46         global studentinfo47         name = input('please input student\'s name:')48         if name in studentinfo:49                 phone = input('please input student\'s phone:')50                 studentinfo[name] = phone51         else:52                 print('has no this name')53 54 def show_all():55         global studentinfo56         for key, value in studentinfo.items():57                 print('name:' + key + 'phone:' + value)58 59 func = {1 : search_student, \60         2 : delete_student, \61         3 : add_student, \62         4 : modifiy_student, \63         5 : show_all}64 65 def menu():66         print('-----------------------------------------------');67         print('1 search student:')68         print('2 delete student:')69         print('3 add student:')70         print('4 modifiy student:')71         print('5 show all student')72         print('6 exit')73         print('-----------------------------------------------');74 75 def init_data():76         global studentinfo77         file = open('student_info.txt', 'rb')78         studentinfo = pickle.load(file)79         #print(studentinfo)80         file.close()81 82 init_data()83 while True:84         menu()85         index = int(input())86         if index == FUNC_NUM + 1:87                 exit()88         elif index < 1 or index > FUNC_NUM + 1:89                 print('num is between 1-%d' %  (FUNC_NUM + 1))90                 continue91         #print(index)92         func[index]()

如有错误,或者更好的想法,请指教。

转载地址:http://zdaql.baihongyu.com/

你可能感兴趣的文章
.NET Core 跨平台发布(dotnet publish)
查看>>
OpenAcc社区版安装教程(Linux版)(更新版)
查看>>
java写入文件的几种方法
查看>>
NGINX模块(一)
查看>>
Linux service命令
查看>>
Linux动态频率调节系统CPUFreq之二:核心(core)架构与API
查看>>
TCP发送源码学习(2)--tcp_write_xmit
查看>>
Android第三方开源图片裁剪截取:cropper
查看>>
C# 中英文符号互转
查看>>
asp.net2.0安全性(3)--验证与授权--转载来自车老师
查看>>
RegexKitLite 正则
查看>>
for/F命令详解
查看>>
swift -- 类和结构体
查看>>
微软是如何重写C#编译器并使它开源的
查看>>
python 面向对象 反射
查看>>
python文件操作
查看>>
PHP代码格式化批量脚本
查看>>
无需用户确认关闭当前网页
查看>>
alpha冲刺8
查看>>
工作经验之产品上线
查看>>