Please answer the following question in Python code: (Composition) Write a Pizza class so that this client code works. Please note that it is ok if the toppings are listed in a different order. >>>...


Please answer the following question in Python code:



  1. (Composition) Write a Pizza class so that this client code works. Please note that it is ok if the toppings are listed in a different order.


>>> pie = Pizza()


>>> pie


Pizza('M',set())


>>> pie.setSize('L')


>>> pie.getSize()


'L'


>>> pie.addTopping('pepperoni')


>>> pie.addTopping('anchovies')


>>> pie.addTopping('mushrooms')


>>> pie


Pizza('L',{'anchovies', 'mushrooms', 'pepperoni'})


>>> pie.addTopping('pepperoni')


>>> pie


Pizza('L',{'anchovies', 'mushrooms', 'pepperoni'})


>>> pie.removeTopping('anchovies')


>>> pie


Pizza('L',{'mushrooms', 'pepperoni'})


>>> pie.price()


16.65


>>> pie2 = Pizza('L',{'mushrooms','pepperoni'})


>>> pie2


Pizza('L',{'mushrooms', 'pepperoni'})


>>> pie==pie2


True


The Pizza class should have two attributes(data items):


size – a single character str, one of ‘S’,’M’,L”


toppings – a set containing the toppings.  If you don’t remember how to use a set, make sure you look it up in the book.  Please note that toppings may be listed in a different order, but hw2TEST.py takes that into account.


The Pizza class should have the following methods/operators):


__init__
-
constructs a Pizza of a given size (defaults to ‘M’) and with a given set of toppings (defaults to empty set).    I highly recommend you look at the Queue class in the book to see how to get this to work correctly.


setSize – set pizza size to one of ‘S’,’M’or ‘L’


getSize – returns size


addTopping – adds a topping to the pizza, no duplicates, i.e., adding ‘pepperoni’ twice only adds it once


removeTopping – removes a topping from the pizza


price – returns the price of the pizza according to the following scheme:


          ‘S’: $6.25 plus 70 cents per topping
          ‘M’: $9.95 plus $1.45 per topping
          ‘L’: $12.95 plus $1.85 per topping


__repr__ - returns representation as a string – see output sample above.  Note that toppings may be listed in a different order.


__eq__ - two pizzas are equal if they have the same size and same toppings (toppings don’t need to be in the same order)

Jun 03, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here