hi, its me again jay, thanks alot everyone for your input on the last program i 
created that solved for the mode,mean, and average of a set of numbers it 
actually worked great...i used the import in a bit different method but still 
very valuable...if anyone can give me any ideas on this program i am doing now 
it would definetly be appreciated here it goes:import shelveimport 
stringUNKNOWN = 0HOME = 1WORK = 2FAX = 3CELL = 4class phoneentry:    def 
__init__(self, name = 'Unknown', number = 'Unknown',type = UNKNOWN):        
self.name = name        self.number = number        self.type = type#  create 
string representationdef __repr__(self):    return('%s:%d' % ( self.name, 
self.type ))#  fuzzy compare or two itemsdef __cmp__(self, that):    this = 
string.lower(str(self))    that = string.lower(that)    if string.find(this, 
that) >= 0:        return(0)        return(cmp(this, that))def showtype(self):  
  if self.type == UNKNOWN: return('Unknown')    if self.type == HOME: 
return('Home')    if self.type == WORK: return('Work')    if self.type == FAX: 
return('Fax')    if self.type == CELL: return('Cellular')class phonedb:    def 
__init__(self, dbname = 'phonedata'):                self.dbname = dbname;      
  self.shelve = shelve.open(self.dbname);def __del__(self):    
self.shelve.close()    self.shelve = Nonedef add(self, name, number, type = 
HOME):    e = phoneentry(name, number, type)    self.shelve[str(e)] = edef 
lookup(self, string):    list = []    for key in self.shelve.keys():        e = 
self.shelve[key]    if cmp(e, string) == 0:        list.append(e)    
return(list)#  if not being loaded as a module, run a small testif __name__ == 
'__main__':    foo = phonedb()    foo._add_('Sean Reifschneider', 
'970-555-1111', HOME)    foo.add('Sean Reifschneider', '970-555-2222', CELL)    
foo.add('Evelyn Mitchell', '970-555-1111', HOME)print 'First lookup:'for entry 
in foo.lookup('reifsch'):        print '%-40s %s (%s)' % ( entry.name, 
entry.number, entry.showtype())print 'Second lookup:'for entry in 
foo.lookup('e'):    print '%-40s %s (%s)' % ( entry.name, entry.number, 
entry.showtype() )
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to