CMPSC 206 Ch 9 Program Online shopping Cart Python Assignment

CMPSC 206 Ch 9 Program Online shopping Cart Python Assignment

LAB

ACTIVITY

16.23.1: Ch 9 Program: Online shopping cart (continued) (Python 3)

1 / 29

main.py

Load default template…

class ItemToPurchase:

def __init__(self, item_name= ‘none’, item_price=0, item_quantity=0, item_description = ‘none’):

self.item_name = item_name

self.item_price = item_price

self.item_quantity = item_quantity

self.item_description = item_description

def print_item_cost(self):

string = ‘{} {} @ ${} = ${}’.format(self.item_name, self.item_quantity, self.item_price, (self.item_quantity

* self.item_price))

cost = self.item_quantity * self.item_price

return string, cost

def print_item_description(self):

string = ‘{}: {}’.format(self.item_name, self.item_description)

print(string, end=’ ‘)

return string

class ShoppingCart:

def __init__(self,customer_name= None ,current_date=’January 1,2016′,cart_items=[]):

self.customer_name = customer_name

self.current_date = current_date

self.cart_items = cart_items

def add_item(self,):

print(‘nADD ITEM TO CART’, end=’n’)

#prompt the name and description of item,price and Quentity

item_name = str(input(‘Enter the item name:’));

item_description = str(input(‘nEnter the item description:’));

item_price = int(input(‘nEnter the item price:’));

item_quantity = int(input(‘nEnter the item quantity:n’))

#Append the above values in to the list

self.cart_items.append(ItemToPurchase(item_name, item_price, item_quantity, item_description))

#Implement the method to delete the item in the cart

def remove_item(self):

print()

print(‘REMOVE ITEM FROM CART’, end=’n’)

#prompt the item to remove the list

string = str(input(‘Enter name of item to remove:n’))

i = 0

#Using for-loop to iterate every item

for item in self.cart_items:

#If item found delete in the list

if(item.item_name == string):

del self.cart_items[i]

i += 1

#set the flag value to true

#break from the list

flag=True

break

#Otherwiese set value to false

else:

flag=False

#IF the value not found

if(flag==False):

#print the message

print(‘Item not found in cart. Nothing removed.’)

def modify_item(self):

print(‘nCHANGE ITEM QUANTITY’, end=’n’)

#Prompt the input item

name = str(input(‘Enter the item name:’))

#Using for-loop to iterate every item

for item in self.cart_items:

#If item found update Quantity in the list

if(item.item_name == name):

quantity = int(input(‘Enter the new quantity:’))

item.item_quantity = quantity

#set the flag value to true

#break from the list

flag=True

break

#Otherwiese set value to false

else:

flag=False

#IF the value not found

if(flag==False):

#print the message

print(‘Item not found in cart. Nothing modified.’)

#implement method to compute total number of items in the cart

def get_num_items_in_cart(self):

num_items = 0

#Using for-loop to iterate the cart

for item in self.cart_items:

#ADD the Quantities

num_items += item.item_quantity

#return the num_Items

return num_items

#Implement the method

def get_cost_of_cart(self):

total_cost = 0

cost = 0

#Using for-loop to iterate the list

#mulitply the price and Quantity

#add value to the Total_Cost

for item in self.cart_items:

cost = (item.item_quantity * item.item_price)

total_cost += cost

#return the value

return total_cost

#Implement the method to print the total

def print_total():

total_cost = self.get_cost_of_cart()

if (total_cost == 0):

print(‘SHOPPING CART IS EMPTY’)

else:

output_cart()

#Implement the method to print_descriptions

def print_descriptions(self):

print(‘OUTPUT ITEMS’ DESCRIPTIONS’)

print(‘{}’s Shopping Cart – {}’.format(self.customer_name, self.current_date),end=’n’)

print(‘nItem Descriptions’, end=’n’)

for item in self.cart_items:

print(‘{}: {}’.format(item.item_name, item.item_description), end=’n’)

#Implement the method output_cart()

def output_cart(self):

new=ShoppingCart()

print(‘OUTPUT SHOPPING CART’, end=’n’)

print(‘{}’s Shopping Cart – {}’.format(self.customer_name, self.current_date),end=’n’)

print(‘Number of Items:’, new.get_num_items_in_cart(), end=’nn’)

self.total_cost = self.get_cost_of_cart()

if (self.total_cost == 0):

print(‘SHOPPING CART IS EMPTY’)

else:

pass

tc = 0

for item in self.cart_items:

print(‘{} {} @ ${} = ${}’.format(item.item_name, item.item_quantity,

item.item_price, (item.item_quantity * item.item_price)), end=’n’)

tc += (item.item_quantity * item.item_price)

print(‘nTotal: ${}’.format(tc), end=’n’)

#Implement the method print_menu

def print_menu(new_cart):

customer_Cart = newCart

string=”

#declare the string menu

menu = (‘nMENUn’

‘a – Add item to cartn’

‘r – Remove item from cartn’

‘c – Change item quantityn’

‘i – Output items’ descriptionsn’

‘o – Output shopping cartn’

‘q – Quitn’)

command = ”

#Using while loop

#to iterate until user enters q

while(command != ‘q’):

string=”

print(‘nMENUn’

‘a – Add item to cartn’

‘r – Remove item from cartn’

‘c – Change item quantityn’

‘i – Output items’ descriptionsn’

‘o – Output shopping cartn’

‘q – Quitn’, end=’n’)

#Prompt the Command

command = input(‘Choose an option:’)

print()

#repeat the loop until user enters a,i,r,c,q commands

while(command != ‘a’ and command != ‘o’ and command != ‘i’ and command != ‘r’ and command != ‘c’ and command != ‘q’):

command = input(‘Choose an option:n’)

#If the input command is a

if(command == ‘a’):

#call the method to the add elements to the cart

customer_Cart.add_item()

#If the input command is o

if(command == ‘o’):

#call the method to the display the elements in the cart

customer_Cart.output_cart()

#If the input command is i

if(command == ‘i’):

#call the method to the display the elements in the cart

customer_Cart.print_descriptions()

#If the input command is i

if(command == ‘r’):

customer_Cart.remove_item()

if(command == ‘c’):

customer_Cart.modify_item()

# Type main section of code here

if __name__ == “__main__”:

# Type main section of code here

customer_name = str(input(‘Enter customer’s name:’))

current_date = str(input(‘nEnter today’s date:’))

print()

print()

print(‘Customer name:’, customer_name, end=’n’)

print(‘Today’s date:’, current_date, end=’n’)

newCart = ShoppingCart(customer_name, current_date)

print_menu(newCart)

Develop modeSubmit mode

Run your program as often as you’d like, before submitting for grading. Below, type any needed input values in the first box, then click Run program and observe the program’s output in the second box.

Enter program input (optional)

"You need a similar assignment done from scratch? Our qualified writers will help you with a guaranteed AI-free & plagiarism-free A+ quality paper, Confidentiality, Timely delivery & Livechat/phone Support.


Discount Code: CIPD30



Click ORDER NOW..

order custom paper