Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This is my code so far, I really need help 9.17 LAB*: Program: Online shopping cart (Part 2) This program extends the earlier Online shopping

This is my code so far, I really need help

image text in transcribed

image text in transcribed

image text in transcribed

image text in transcribed

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

9.17 LAB*: Program: Online shopping cart (Part 2) This program extends the earlier "Online shopping cart" program. (Consider first saving your earlier program). (1) Extend the Item To Purchase class to contain a new attribute. (2 pts) item_description (string) - Set to "none" in default constructor Implement the following method for the Item ToPurchase class. print_item_description() - Prints item_description attribute for an ItemToPurchase object. Has an ItemToPurchase parameter. Ex. of print_item_description() output: Bottled Water: Deer Park, 12 oz. (2) Build the Shopping Cart class with the following data attributes and related methods. Note: Some can be method stubs (empty methods) initially, to be completed in later steps. Parameterized constructor which takes the customer name and date as parameters (2 pts) Attributes o customer_name (string) - Initialized in default constructor to 'none' current_date (string) - Initialized in default constructor to January 1, 2016" o cart_items (list) Methods o add_item Adds an item to cart_items list. Has parameter ItemToPurchase. Does not return anything. o 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. o modify_item Modifies an item's quantity. Has parameter ItemToPurchase. Does not return anything. If item can be found (by name) in cart, modify item in cart. If item cannot be found (by name) in cart, output this message: Item not found in cart. Nothing modified. o get_num_items_in_cart() (2 pts) Returns quantity of all items in cart. Has no parameters. o get_cost_of_cart() (2 pts) Determines and returns the total cost of items in cart. Has no parameters. o print_total Outputs total of objects in cart. If cart is empty output this message: SHOPPING CART IS EMPTY o print_descriptions . Outputs each item's description. . Ex. of print_total() output: February 1, 2016 John Doe's Shopping Cart Number of Items : 3 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 (3) 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 Shopping Cart (1 pt) EX Enter customer's name: John Doe Enter today's date: February 1, 2016 Customer name: John Doe Today's date: February 1, 2016 (4) In the main section of your code, implement the print_menu() function.print_menu() has a Shopping Cart 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 the 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 a to Quit. (3 pts) Ex: MENU Add item to cart r - Remove item from cart Change item quantity i - Output items' descriptions Output shopping cart Q- Quit C- Choose an option: (5) Implement Outout shopping cart menu option (3 pts) Ex: OUTPUT SHOPPING CART John Doe's Shopping Cart Number of Items : 3 February 1, 2016 Nike Romaleos 2 @ $189 = $378 Chocolate Chips 5 @ $3 = $15 Powerbeats 2 Headphones i @ $128 = $129 Total: $521 (6) Implement Output item's description menu option. (2 pts) 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 (7) Implement Add item to cart menu option. (3 pts) 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 (8) Implement remove item menu option. (4 pts) Ex: REMOVE ITEM FROM CART Enter name of item to remove: Chocolate Chips Implement Change item quantity menu option. Hint: Make new Item To Purchase object before using Modifyltem() method. (5 pts) Ex: CHANGE ITEM QUANTITY Enter the item name: Nike Romaleos Enter the new quantity: 3 204176.1576620 TAR ] class ItemTo Purchase: def init (self, name='none', price=0, quantity=0, description='none'): self.item_name=name self.item_description=description self.item_price=price self.item_quantity=quantity def print_item_description(self): print('%s:%s' % (self.item_name, self.item_description)) class ShoppingCart: def init 'January 1, 2016', cart_items = []): # constructor to initialize the shopping cart (self, customer name = 'none', current_date = self.customer name = customer name self.current date = current date self.cart_items = cart_items # method to add an item to the shopping cart def add_item (self, itemToPurchase): self.cart_items.append(itemToPurchase) # method to remove an item from the shopping cart def remove_item (self, itemName) : tremove item = False # loop to find the item in the cart for item in self.cart items: if item.item name == itemName: self.cart_items.remove (item) tremove item = True break # item not found if not tremove item: print('Item not found in cart. Nothing removed.') # method to modify an item's quantity in the shopping cart def modify_item(self, itemToPurchase): tmodify_item = False # loop to find an item for i in range (len (self.cart_items)): > if self.cart_items[i].item_name == itemTo Purchase.item_name: tmodify_item = True self.cart_items[i].item_quantity = itemTo Purchase.item_quantity break # item not found if not tmodify_item: print('Item not found in cart. Nothing modified.') # method to return the total quantity of all items in the shopping cart def get_num_items_in_cart (self): num items = 0 for item in self.cart items: num_items = num_items + item.item_quantity return num_items # method to return the total cost of all items in the shopping cart def get_cost_of_cart (self): total cost = 0 cost = 0 for item in self.cart_items: cost = (item.item_quantity * item.item_price) total cost += cost return total cost # method to print the total cost of the cart def print_total (self): total_cost = self.get_cost_of_cart() if (total cost == 0): print ('SHOPPING CART IS EMPTY') else: print('{}\'s Shopping Cart - {}'.format (self.customer_name, self.current_date)) print('Number of Items: %d ' %self.get_num_items_in_cart()) for item in self.cart_items: total = item.item price = item.item_quantity print('%s %d @ $% d = $%d' % (item.item_name, item.item_quantity, item.item_price, total)) print(" Total: $%d' %(total_cost)) # method to print the item's description def print_descriptions (self): if len (self.cart_items) == 0: print('SHOPPING CART IS EMPTY') else: print("{}\'s Shopping Cart - {}'. format (self.customer_name, print(" Item Descriptions') for item in self.cart_items: item.print_item_description() self.current_date)) menu = # method to display the menu options and based on user's choice perform the operation # method to display the menu options and based on user's choice perform the operation def print_menu (newCart): customer Cart = newCart (' 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 ') == command = 1 while (command != 'q'): print (menu) command = input('Choose an option: ') while (command != 'a' and command != 'o' and command != 'i' and command != 'q' and command != 'r' and command != 'c'): command = input('Choose an option: ') if (command 'a') : print(" ADD ITEM TO CART") item_name = input ('Enter the item name: ') item_description = input('Enter the item description: ') item price = int(input('Enter the item price: ')). item_quantity = int(input('Enter the item quantity: ')). itemto Purchase = ItemToPurchase (item_name, item_price, item_quantity, item_description) customer_Cart.add_item (itemto Purchase) elif (command == '0'): print ('OUTPUT SHOPPING CART') customer_Cart.print_total() elif (command == 'i'): print (OUTPUT ITEMS' DESCRIPTIONS') customer Cart.print descriptions() elif (command == 'r'): print ('REMOVE ITEM FROM CART') itemName = input('Enter name of item to remove: ') customer Cart.remove item (itemName) elif (command == 'c'): print(" CHANGE ITEM QUANTITY') itemName = input('Enter name of item: ') qty = int(input('Enter the new quantity: ')). itemTo Purchase ItemToPurchase (itemName, 0, qty) customer_Cart.modify_item(itemToPurchase) name if main customer_name = input ("Enter customer's name: ") current_date = input ("Enter today's date: ") print(" Customer name: %s" customer_name) print ("Today's date: %s" %current_date) newCart = ShoppingCart (customer_name, current_date) print_menu (newCart)

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Databases Theory And Applications 27th Australasian Database Conference Adc 20 Sydney Nsw September 28 29 20 Proceedings Lncs 9877

Authors: Muhammad Aamir Cheema ,Wenjie Zhang ,Lijun Chang

1st Edition

3319469215, 978-3319469218

More Books

Students also viewed these Databases questions

Question

Explain how biology and environment interact in our sleep patterns.

Answered: 1 week ago