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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!