feat: p0 and p1
This commit is contained in:
60
tutorial/shop.py
Normal file
60
tutorial/shop.py
Normal file
@ -0,0 +1,60 @@
|
||||
# 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, only including the values of
|
||||
fruits that this fruit shop has.
|
||||
"""
|
||||
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 "<FruitShop: %s>" % self.getName()
|
||||
|
||||
def __repr__(self):
|
||||
return str(self)
|
Reference in New Issue
Block a user