Implement class: Vending Machine according to the following requirements: can be instantiated using the constructor Vending Machine(num_items item_price) where num_items denotes the number of items in the machine, and item_price denotes the required number of coins to buy a single item. • has a method buy(req_items, money) that represents a buy request where req_items denotes the requested number of items, and money is the amount the customer puts into the machine. Depending on the state of the machine, one of the following happens

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
Vending Machine
Implement class: Vending Machine according to the following
requirements:
can be instantiated using the constructor Vending Machine(num_items,
item_price) where num_items denotes the number of items in the
machine, and item_price denotes the required number of coins to buy
a single item.
has a method buy(req_items, money) that represents a buy request
where req_items denotes the requested number of items, and
money is the amount the customer puts into the machine. Depending
on the state of the machine, one of the following happens
o If there are enough items in the machine to serve the request and
the given money is sufficient to buy the requested number of
items, the number of items in the machine is reduced by the
requested number of items. The method returns an integer
denotes the change given back after the purchase.
• If there are fewer items in the machine than the requested
number, it raises a ValueError exception with the message "Not
enough items in the machine".
o If there are enough items in the machine to serve the request but
the given amount of money is less than their cost, it raises
a ValueError exception with the message "Not enough coins".
The class implementation will be tested by a provided code stub and
several input files. Each input file contains parameters to test the
implementation. First, the provided code stub initializes an instance
of the Vending Machine. Next, it performs the given operations on
the Vending Machine instance. The result of their execution will be
printed to the standard output by the provided code.
Constraints
There will be at most 100 operations to be performed
Transcribed Image Text:Implement class: Vending Machine according to the following requirements: can be instantiated using the constructor Vending Machine(num_items, item_price) where num_items denotes the number of items in the machine, and item_price denotes the required number of coins to buy a single item. has a method buy(req_items, money) that represents a buy request where req_items denotes the requested number of items, and money is the amount the customer puts into the machine. Depending on the state of the machine, one of the following happens o If there are enough items in the machine to serve the request and the given money is sufficient to buy the requested number of items, the number of items in the machine is reduced by the requested number of items. The method returns an integer denotes the change given back after the purchase. • If there are fewer items in the machine than the requested number, it raises a ValueError exception with the message "Not enough items in the machine". o If there are enough items in the machine to serve the request but the given amount of money is less than their cost, it raises a ValueError exception with the message "Not enough coins". The class implementation will be tested by a provided code stub and several input files. Each input file contains parameters to test the implementation. First, the provided code stub initializes an instance of the Vending Machine. Next, it performs the given operations on the Vending Machine instance. The result of their execution will be printed to the standard output by the provided code. Constraints There will be at most 100 operations to be performed
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education