初学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]()

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

最新文章

  1. K-means算法
  2. unity自定义工具
  3. 9月9日HTML上午表单元素2(框架、样式表)
  4. C++产生随机数四则运算
  5. CLR via C#深解笔记三 - 基元类型、引用类型和值类型 | 类型和成员基础 | 常量和字段
  6. Git 文件比较
  7. Sprint第三个冲刺(第三天)
  8. [转]使用Navicat for Oracle工具连接oracle的
  9. cocos2d-x游戏开发系列教程-超级玛丽02-代码结构
  10. Sql Server (错误:7302)
  11. iOS-Runtime机制详解
  12. Power oj2498/DP/递推
  13. extremecomponents
  14. weblogic 安装配置打补丁
  15. css3巧用选择器配合伪元素
  16. Java 运行时常量池
  17. ef学习一
  18. 查找mac下腾讯视频下载地址
  19. forget stereo step word out8
  20. 数据帮助类DBhelper的定义

热门文章

  1. [ASE][Daily Scrum]11.25
  2. Chrome以https访问gitlab的问题:Your connection is not private
  3. [51单片机] EEPROM AT24c02 [存储\读取一个字节]
  4. MySQL数据库主键设计原则
  5. [BTS] Deploy Command
  6. 在SecureCRT标签显示IP标题(转)
  7. intellij自动缩进排版
  8. 浅谈sql中的in与not in,exists与not exists的区别
  9. Atitit .html5刮刮卡的gui实现总结
  10. node.js WebService异常处理(domain)以及利用domain实现request生命周期的全局变量