zoukankan      html  css  js  c++  java
  • python 教程 第十四章、 地址薄作业

    第十四章、 地址薄作业

    #A Byte of Python
    #!/usr/bin/env python
    import cPickle
    import os 
    #define the contacts file, list
    global file_contacts
    global list_contacts
    file_contacts = 'AddressBook.txt'
    list_contacts = [] 
    #delete the file
    try:
        file_path = os.getcwd() + os.sep + file_contacts
        if os.path.isfile(file_path):
            os.remove(file_contacts)
            f = file(file_contacts,'w')
            f.close() 
         #define the class of contacts and implement the methods
        class class_contacts:
            def __init__(self, list_contacts):
                self.contacts = list_contacts
            def append(self, name, mail):
                dict_contacts = {'Name': name, 'Mail': mail}
                self.contacts.append(dict_contacts)
            def find(self, name):
                found = False
                for instance_contacts in list_contacts:
                    if name == instance_contacts['Name']:
                        found = True
                        print " Found:", name, ", PASS"
                        break
                if not found:
                    print " Found:", name, ", FAIL" 
            def modify(self, name, mail):
                for instance_contacts in list_contacts:
                    if name == instance_contacts['Name']:
                        instance_contacts['Mail'] = mail
                        break
            def delete(self, name):
                index = -1
                for instance_contacts in list_contacts:
                    index += 1
                    if name == instance_contacts['Name']:
                        del list_contacts[index]
            def show(self):
                for list in list_contacts:
                    print list
            def save(self):
                fa = file(file_contacts, "a")
                cPickle.dump(self.contacts, fa)
                fa.close() 
        i = class_contacts(list_contacts)
        i.append('joan', 'joan@123.com')
        i.append('adny', 'adny@123.com')
        i.append('xixi', 'xixi@123.com')
        i.find('joan')
        i.find('joab')
        print "Original List:"
        i.show()
        print "after modify adny"
        i.modify('adny', 'adnX@123.com')
        i.show()
        print "after del joan"
        i.delete('joan')
        i.show()
        i.save() 
    except TypeError:
        print "TypeError"
    except:
    print "Other Error occured" 
    

      

  • 相关阅读:
    【十大思想实验之中的一个】电车难题
    XMLHTTP使用具体解释
    高速排序 解析
    RapeLay(电车之狼R)的结局介绍 (隐藏结局攻略)
    java设计模式演示样例
    [Network]Transport Layer
    【2012.1.24更新】不要再在网上搜索eclipse的汉化包了!
    WebService究竟是什么?
    epoll使用具体解释(精髓)
    贪心算法
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468814.html
Copyright © 2011-2022 走看看