# shop.py # ------- # Licensing Information: You are free to use or extend these projects for # educational purposes provided that (1) you do not distribute or publish # solutions, (2) you retain this notice, and (3) you provide clear # attribution to UC Berkeley, including a link to http://ai.berkeley.edu. # # Attribution Information: The Pacman AI projects were developed at UC Berkeley. # The core projects and autograders were primarily created by John DeNero # (denero@cs.berkeley.edu) and Dan Klein (klein@cs.berkeley.edu). # Student side autograding was added by Brad Miller, Nick Hay, and # Pieter Abbeel (pabbeel@cs.berkeley.edu). class FruitShop: def __init__(self, name, fruitPrices): """ name: Name of the fruit shop fruitPrices: Dictionary with keys as fruit strings and prices for values e.g. {'apples':2.00, 'oranges': 1.50, 'pears': 1.75} """ self.fruitPrices = fruitPrices self.name = name print 'Welcome to %s fruit shop' % (name) def getCostPerPound(self, fruit): """ fruit: Fruit string Returns cost of 'fruit', assuming 'fruit' is in our inventory or None otherwise """ if fruit not in self.fruitPrices: return None return self.fruitPrices[fruit] def getPriceOfOrder(self, orderList): """ orderList: List of (fruit, numPounds) tuples Returns cost of orderList. If any of the fruit are """ totalCost = 0.0 for fruit, numPounds in orderList: costPerPound = self.getCostPerPound(fruit) if costPerPound != None: totalCost += numPounds * costPerPound return totalCost def getName(self): return self.name def __str__(self): return "" % self.getName() def __repr__(self): return str(self)