Answered step by step
Verified Expert Solution
Question
1 Approved Answer
in in python 15 pts) Write the class Vending Machine that will represent a typical vending machine (item number, price, stock). An instance of Vending
in
in python
15 pts) Write the class Vending Machine that will represent a typical vending machine (item number, price, stock). An instance of Vending Machine has access to five methods, newStock, getStock, purchase, deposit and restock that will describe its interaction with the user returning strings. This vending machine does not give you money back if you don't make a purchase. Tip: use the string format method to construct the strings Vending Machine notes: When creating an instance of this class, the machine is empty, thus, calling getStock, purchase and deposit simply return out of stock messages: >>> x=Vending Machine () >>> x.purchase (215) Machine out of stock' >>> x.deposit (10) Machine out of stock. Take your $10 back! >>> X.getStock() Machine out of stock >>> x.restock (215, 9) 'Invalid item new Stock is used only when the registering a new item. If an item is out of stock or still has stock, using newStock will return a message to the user. For already registered items, you use the restock method. Restock retums an error when the item is not in the dictionary >>> x.newStock (215,2.50, 2) Current 215 stock: 2 >>> X.restock (215, 1) Current item stock: 3 >>> x.restock (5, 1) "Invalid item' >>> x.get Stock() 215: [2.5, 3]) # User deposits 7.5 and purchases 3 items of 215 >>> x.get Stock() {215: [2.5, 0]} >>> x.newStock (215,2.50,2) 'Item already registered >>> x.newStock (156,3,3) Current 156 stock: 3 >>> x.getStock() {215: [2.5, 0], 156: [3, 3]) If all products are out of stock, deposit retums an out of stock message >>> x.getStock() {215: [2.5, 0], 156: [3, 0]} >>> x.deposit (10) Machine out of stock. Take your $10 back' purchase uses quantity=1 as a default value, which can be overwritten by providing the second argument. Before completing a purchase, machine has to check if the item is valid, if it is on stock and if the user has enough balance. >>> x.getStock() {215: [3, 1], 156: [3.5, 4]} >>> x.purchase (56) "Invalid item' >>> x.purchase (215) Please deposit $3' >>> x.deposit (1) >>> x.purchase (215) Please deposit $2' >>> x.deposit (10) >>> X.purchase (215) 'Item dispensed, take your $5' >>> x.purchase (215) 'Item out of stock' >>> x.get Stock() {215: [3, 0], 156: [3.5, 4]) getStock returns a dictionary where the key is the item and the value is the list [price, stock] purchase will ask for the needed money to complete a purchase if enough items are in stock, otherwise, it returns the current stock of the item (for example 3 items in stock and attempting to purchase 4) Once the user completes one purchase, machine retums remaining balanceStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started