Python编写电话薄实现增删改查功能

1218次阅读  |  发布于5年以前

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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8