Question: In Python Step 1: Implement an ItemToPurchase class Build the ItemToPurchase class with the following specifications: Attributes item_name (string) item_price (float) item_quantity (int) item_description (string)
In Python
Step 1: Implement an ItemToPurchase class
Build the ItemToPurchase class with the following specifications:
Attributes
item_name (string)
item_price (float)
item_quantity (int)
item_description (string)
Default constructor
Initializes item's name = "none", item's price = 0, item's quantity = 0, item_description = none
Method
print_item_cost()
print_item_description()
Ex. of print_item_cost() output:
Bottled Water 10 @ $1 = $10
Ex. of print_item_description() output:
Bottled Water: Deer Park, 12 oz.
Step 2: Implement an ShoppingCart class
(1)Build the ShoppingCart class with the following data attributes and related methods. Note: Some can be method stubs (empty methods) initially, to be completed in later steps.
Constructor: Parameterized constructor which takes the customer name and date as parameters
Attributes
customer_name (string) - Initialized in default constructor to "none"
current_date (string) - Initialized in default constructor to "January 1, 2016"
cart_items (list) -A list of ItemToPurchase objects
Methods
add_item()
Adds an item to cart_items list. Has parameter ItemToPurchase. Does not return anything.
remove_item()
Removes item from cart_items list. Has a string (an item's name) parameter. Does not return anything.
If item name cannot be found, output this message: Item not found in cart. Nothing removed.
modify_item()
Modifies an item's description, price, and/or quantity. Has parameter ItemToPurchase. Does not return anything.
If item cannot be found (by name) in cart, output this message: Item not found in cart. Nothing modified.
get_num_items_in_cart()
Returns the total quantity of all items in cart. Has no parameters.
get_cost_of_cart()
Determines and returns the total cost of items in cart. Has no parameters.
print_total()
Outputs total of objects in cart.
If cart is empty, output this message: SHOPPING CART IS EMPTY
print_descriptions()
Outputs each item's description.
Ex. of print_total() output:
John Doe's Shopping Cart - February 1, 2016
Number of Items: 8
Nike Romaleos 2 @ $189 = $378
Chocolate Chips 5 @ $3 = $15
Powerbeats 2 Headphones 1 @ $128 = $128
Total: $521
Ex. of print_descriptions() output:
John Doe's Shopping Cart - February 1, 2016
Item Descriptions
Nike Romaleos: Volt color, Weightlifting shoes
Chocolate Chips: Semi-sweet
Powerbeats 2 Headphones: Bluetooth headphones
(2) In main section of your code, prompt the user for a customer's name and today's date. Output the name and date. Create an object of type ShoppingCart. Ex.
Enter customer's name:
John Doe
Enter today's date:
February 1, 2016
Customer name: John Doe
Today's date: February 1, 2016
(3) Implement the print_menu() function. print_menu() has a ShoppingCart parameter, and outputs a menu of options to manipulate the shopping cart. Each option is represented by a single character. Build and output the menu within the function.
If an invalid character is entered, continue to prompt for a valid choice. Hint: Implement Quit before implementing other options. Call print_menu() in the main() function. Continue to execute the menu until the user enters q to Quit. Ex:
MENU
a - Add item to cart
r - Remove item from cart
c - Change item quantity
i - Output items' descriptions
o - Output shopping cart
q - Quit
Choose an option:
(4) Implement Output shopping cart menu option. Ex:
OUTPUT SHOPPING CART
John Doe's Shopping Cart - February 1, 2016
Number of Items: 8
Nike Romaleos 2 @ $189 = $378
Chocolate Chips 5 @ $3 = $15
Powerbeats 2 Headphones 1 @ $128 = $128
Total: $521
(5) Implement Output item's description menu option. Ex.
OUTPUT ITEMS' DESCRIPTIONS
John Doe's Shopping Cart - February 1, 2016
Item Descriptions
Nike Romaleos: Volt color, Weightlifting shoes
Chocolate Chips: Semi-sweet
Powerbeats 2 Headphones: Bluetooth headphones
(6) Implement Add item to cart menu option. Ex:
ADD ITEM TO CART
Enter the item name:
Nike Romaleos
Enter the item description:
Volt color, Weightlifting shoes
Enter the item price:
189
Enter the item quantity:
2
(7) Implement remove item menu option. Ex:
REMOVE ITEM FROM CART
Enter name of item to remove:
Chocolate Chips
(8) Implement Change item quantity menu option. Hint: Make new ItemToPurchase object before using ModifyItem() method. Ex:
CHANGE ITEM QUANTITY
Enter the item name:
Nike Romaleos
Enter the new quantity:
3
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
