45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:怎么样使用Python编写电话薄实现增删改查功能?

怎么样使用Python编写电话薄实现增删改查功能?

2016-06-21 10:16:03 来源:www.45fan.com 【

怎么样使用Python编写电话薄实现增删改查功能?

初学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程序设计有所帮助。


本文地址:http://www.45fan.com/a/question/54331.html
Tags: python 电话 编写
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部