Case assignment: your assignment is about classes & objects, classes & functions, introspection, object & object orientation and a small database project.Required:  Read chapters 15, 16 from “Think Python: How to Think Like a Computer Scientist (Version 1.3.3)”, a reference in the background materials. Code all the examples and exercises into the Python IDLE and successfully run them. Save the final programs into Python files.Read chapters 4 & 5 from Dive into Python, a reference in the background materials. Code all the examples and exercises into the Python IDLE and successfully run them. Save the final programs into Python files.You’ve been going to work on a database project at work for sometime now. Your boss encourages you to program the database in Python. You disagree, arguing that Python is not a database language but your boss persists by providing the source code below for a sample telephone database. He asks you to do two things: 1. Evaluate the existing source code and extend it to make it useful for managers in the firm. (You do not need a GUI interface, just work on the database aspects: data entry and retrieval – of course you must get the program to run or properly work, and 2. He wants you to critically evaluate Python as a database tool.Import the sample code below into the Python IDLE and enhance it, run it and debug it. Add features to make this a more realistic database tool by providing for easy data entry and retrieval. Export your successful program to a Python file for later upload to coursenet.Here is the sample source code:#!/usr/bin/python## An example from Sean Reifschneider’s Python Tutorial at Linux Expo 98.## Copyright (c) 1998 Sean Reifschneider,, ltd. # This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License# as published by the Free Software Foundation; either version 2# of the License, or (at your option) any later version.# This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.# You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA.## You can contact Sean Reifschneider at # P.O. Box 270624, # Fort Collins, CO USA 80527-0624, # or at Simple phone-number database moduleimport shelveimport stringUNKNOWN = 0HOME = 1WORK = 2FAX = 3CELL = 4class phoneentry:def __init__(self, name = ‘Unknown’, number = ‘Unknown’,type = UNKNOWN) = nameself.number = numberself.type = type# create string representationdef __repr__(self):return(‘%s:%d’ % (, 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 =;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.number, entry.showtype() )printprint ‘Second lookup:’for entry in foo.lookup(‘e’):print ‘%-40s %s (%s)’ % (, entry.number, entry.showtype() )Add all your saved Python files from requirements 1 – 3 above into a zip file. Add to the zip file, a one page description of what you have accomplished and what benefits you have achieved.Case assignment expectations:Code all the required examples and exercises and successfully run them.Provide a paper describing what you accomplished and what benefits you have achieved.When your zip file is done, send it in to CourseNet. Privacy Policy | Contact

Still stressed with your coursework?
Get quality coursework help from an expert!