Explain what the code is doing line from line explanations please or summarize lines with an explanation
def displayCart(): #displays the cart function
"""displayCart function - displays the items in the cart
---------------------------------------------------------------------"""
import os
os.system('clear')
print("\n\nCart Contents:")
print("Your selected items:", cart)
def catMenu(): #function that displays the category menu
"""catMenu function - displays the categories user picks from
---------------------------------------------------------------------"""
import os
os.system('clear')
print("""
1 - Books
2 - Electronics
3 - Clothing
d - display cart contents
x - checkout
""")
category = input('\nSelect one of the categories or checkout:')
return category
def log_File(logfile,logrecord): #function that controls the log file
"""Function that appends the log activity.
------------------------------------------------------------------"""
log= open(logfile,"a")
log.writelines(logrecord)
log.close()
def itemDescription (category): #function that reads the category's file
"""Reads the category's text file that has the inventory items for the chosen
category and returns a list with the item descriptions and prices.
-----------------------------------------------------------------------------"""
import os
os.system('clear')
fi = open(category + '.txt',"r", encoding = "ISO-8859-1")
itemfile = fi.readlines() # list of item descriptions and price
itemlist = []
for i in itemfile: # creates item list
if len(i) > 1:
d = i.split(',') #splits the list at the comma
d[0] = d[0].strip() #Item name
d[1] = float(d[1].strip()) # Item price
d[2] = int(d[2].strip()) #Item quantity
itemlist.append(d) #adds to list
fi.close()
return itemlist
def itemMenu (category, itemList): #function that displays the items to choose from in menu form
"""itemMenu function - displays the menu of items
---------------------------------------------------------------------"""
import os
os.system('clear')
print ('\n\n\t\t\t\t\t ' + category,'menu')
print('\n\t\t\t {0:3s} \t {1:26s} {2:8s}'.format('No.', 'Item Description', 'Price '))
print('\t\t\t {0:3s} \t {1:26s} {2:8s}'
.format('===', '===========================', '========'))
for n in range(0, len(itemList)):
print('\t\t\t {0:2d} \t{1:26s} \t ${2:8.2f}'.format(n+1,itemList[n][0], itemList[n][1])) #formats list
print('\t\t\t {0:2s} \tdisplay cart contents'.format("d"))
print('\t\t\t {0:2s} \tcheckout'.format("x"))
choice = input('\nSelect the ' + category + ' number or checkout:')
return choice
def confirmAdd(itemList, category, cart): #Confirms item function
"""confirmAdd function - confirms the users selected item and adds the item to cart
---------------------------------------------------------------------"""
import os
os.system('clear')
confirm = input(" Would you like to add one " + itemList[category-1][0] + " (y/n?):")
if confirm == 'y':
found = False #if the item isn't added more than once
for d in cart:
if itemList[category-1][0] == d[0]:
found = True #if the item is added more than once add one to quantity
d[2] += 1 #increments quantity by 1 if multiple of same item is added to cart
break
if not found:
cart.append(itemList[category-1])
# Global code
book_list = itemDescription('books')
elect_list = itemDescription('electronics')
cloth_list = itemDescription('clothing')
date=str(datetime.datetime.now())
lf= "IT109A9Log.txt" #log file where all information is stored
more_carts = 'y'
carts = 0
total_items = 0
total_cost = 0.0
while more_carts == 'y':
cart = []
more_items = 'y'
while more_items == 'y':
category=catMenu() #Category function
if category == 'x':
more_items = 'n'
break
elif category == 'd':
displayCart() #Display cart function
elif category not in '123':
print('Invalid category selected')
continue
if category == '1':
choice = 0
while choice != 'x':
choice = itemMenu('Book', book_list)
if choice == 'x':
continue
elif choice == 'd':
displayCart() #display cart function
elif int(choice) <= len(book_list):
confirm = confirmAdd(book_list,int(choice),cart) #Confirm for books
else:
print('Invalid item selected')
elif category == '2':
choice = 0
while choice != 'x':
choice = itemMenu('Electronics', elect_list)
if choice == 'x':
continue
elif choice == 'd':
displayCart() #display cart function
elif int(choice) <= len(elect_list):
confirm = confirmAdd(elect_list,int(choice),cart) #Confirm for elecs
else:
print('Invalid item selected')
elif category == '3':
choice = 0
while choice != 'x':
choice = itemMenu('Clothing', cloth_list)
if choice == 'x':
continue
elif choice == 'd':
displayCart() #display cart function
elif int(choice) <= len(cloth_list):
confirm = confirmAdd(cloth_list,int(choice),cart) #Confirm for clothing
else:
print('Invalid item selected')
if category == 'x':
print('\t\tCheckout selected')
displayCart()
cart_items, cart_cost = 0, 0.0
os.system('clear')
for item in cart:
cart_items += item[2] #quantity calculation
cart_cost += item[1] * item[2] #QTY * price
print('\nTotal number of items:', cart_items)
print('\nTotal cost of your items:${0:8.2f}'.format(cart_cost))
total_items += cart_items
total_cost += cart_cost
if cart_items > 0:
carts += 1
cartlog_list= ['\n\nDate: ' + date,
'\nType of log: Cart',
'\nCart Number: ' + str(carts),
'\nTotal number of items for the cart: ' + str(cart_items),
'\nTotal cost of items:${0:8.2f}'.format(cart_cost)]
log_File(lf,cartlog_list) #log of carts
more_carts = input('\nWould you like more carts(y/n)? ')
sessionLog_List= ['\n\nDate: ' + date,
'\nType of log: Session',
'\nNumber of carts: ' + str(carts),
'\nTotal number of items: '+ str(total_items),
'\nTotal cost of items:${0:8.2f}'.format(total_cost)]
log_File(lf,sessionLog_List) #log of session
#final output
os.system('clear')
print('\n\n\tTotal number of carts: ', carts)
print('\tTotal number of items: ', total_items)
print('\tTotal cost of items: ${0:8.2f}'.format(total_cost))
input('\n\nHit Enter to end program')
## updated the code lines with descriptions wherever required
def displayCart(): #displays the cart function
"""displayCart function - displays the items in the cart
---------------------------------------------------------------------"""
import os # Imports Operating System library to perform OS based
operation
os.system('clear') # Clears the console screen
print("\n\nCart Contents:")
print("Your selected items:", cart)
def catMenu(): #function that displays the category menu
"""catMenu function - displays the categories user picks from
---------------------------------------------------------------------"""
import os
os.system('clear')
print("""
1 - Books
2 - Electronics
3 - Clothing
d - display cart contents
x - checkout
""") # Prints a menu with option numbers for user to select
category = input('\nSelect one of the categories or checkout:') #
saves the user input in the category variable
return category # returns the category
def log_File(logfile,logrecord): #function that controls the log
file
"""Function that appends the log activity.
------------------------------------------------------------------"""
log= open(logfile,"a") # opens the logfile in append mode
log.writelines(logrecord) # appends the logrecord at the end of the
file
log.close() # closes the logfile
def itemDescription (category): #function that reads the category's
file
"""Reads the category's text file that has the inventory items for
the chosen
category and returns a list with the item descriptions and
prices.
-----------------------------------------------------------------------------"""
import os
os.system('clear')
fi = open(category + '.txt',"r", encoding = "ISO-8859-1") # opens
corresponding category file in read mode in given endcoding
itemfile = fi.readlines() # list of item descriptions and
price
itemlist = []
for i in itemfile: # creates item list
if len(i) > 1:
d = i.split(',') #splits the list at the comma
d[0] = d[0].strip() #Item name
d[1] = float(d[1].strip()) # Item price
d[2] = int(d[2].strip()) #Item quantity
itemlist.append(d) #adds to list
fi.close()
return itemlist # returns the read list of items
def itemMenu (category, itemList): #function that displays the
items to choose from in menu form
"""itemMenu function - displays the menu of items
---------------------------------------------------------------------"""
import os
os.system('clear')
print ('\n\n\t\t\t\t\t ' + category,'menu')
print('\n\t\t\t {0:3s} \t {1:26s} {2:8s}'.format('No.', 'Item
Description', 'Price ')) # Prints the heading in given format
print('\t\t\t {0:3s} \t {1:26s} {2:8s}'
.format('===', '===========================', '========'))
for n in range(0, len(itemList)):
print('\t\t\t {0:2d} \t{1:26s} \t
${2:8.2f}'.format(n+1,itemList[n][0], itemList[n][1])) # formats
and prints the list items
print('\t\t\t {0:2s} \tdisplay cart contents'.format("d"))
print('\t\t\t {0:2s} \tcheckout'.format("x"))
choice = input('\nSelect the ' + category + ' number or
checkout:')
return choice # returns the choice given by user
def confirmAdd(itemList, category, cart): #Confirms item
function
"""confirmAdd function - confirms the users selected item and adds
the item to cart
---------------------------------------------------------------------"""
import os
os.system('clear')
confirm = input(" Would you like to add one " +
itemList[category-1][0] + " (y/n?):")
if confirm == 'y':
found = False #if the item isn't added more than once
for d in cart:
if itemList[category-1][0] == d[0]:
found = True #if the item is added more than once add one to
quantity
d[2] += 1 #increments quantity by 1 if multiple of same item is
added to cart
break
if not found:
cart.append(itemList[category-1])
# Global code
book_list = itemDescription('books')
elect_list = itemDescription('electronics')
cloth_list = itemDescription('clothing')
date=str(datetime.datetime.now()) # stores the current time in
date variable
lf= "IT109A9Log.txt" #log file where all information is stored
more_carts = 'y'
carts = 0
total_items = 0
total_cost = 0.0
while more_carts == 'y':
cart = []
more_items = 'y'
while more_items == 'y':
category=catMenu() #Category function
if category == 'x':
more_items = 'n'
break
elif category == 'd':
displayCart() #Display cart function
elif category not in '123':
print('Invalid category selected')
continue
if category == '1':
choice = 0
while choice != 'x':
choice = itemMenu('Book', book_list)
if choice == 'x':
continue
elif choice == 'd':
displayCart() #display cart function
elif int(choice) <= len(book_list):
confirm = confirmAdd(book_list,int(choice),cart) #Confirm for
books
else:
print('Invalid item selected')
elif category == '2':
choice = 0
while choice != 'x':
choice = itemMenu('Electronics', elect_list)
if choice == 'x':
continue
elif choice == 'd':
displayCart() #display cart function
elif int(choice) <= len(elect_list):
confirm = confirmAdd(elect_list,int(choice),cart) #Confirm for
elecs
else:
print('Invalid item selected')
elif category == '3':
choice = 0
while choice != 'x':
choice = itemMenu('Clothing', cloth_list)
if choice == 'x':
continue
elif choice == 'd':
displayCart() #display cart function
elif int(choice) <= len(cloth_list):
confirm = confirmAdd(cloth_list,int(choice),cart) #Confirm for
clothing
else:
print('Invalid item selected')
if category == 'x':
print('\t\tCheckout selected')
displayCart()
cart_items, cart_cost = 0, 0.0
os.system('clear')
for item in cart:
cart_items += item[2] #quantity calculation
cart_cost += item[1] * item[2] #QTY * price
print('\nTotal number of items:', cart_items)
print('\nTotal cost of your
items:${0:8.2f}'.format(cart_cost))
total_items += cart_items
total_cost += cart_cost
if cart_items > 0:
carts += 1
cartlog_list= ['\n\nDate: ' + date,
'\nType of log: Cart',
'\nCart Number: ' + str(carts),
'\nTotal number of items for the cart: ' + str(cart_items),
'\nTotal cost of items:${0:8.2f}'.format(cart_cost)]
log_File(lf,cartlog_list) #log of carts
more_carts = input('\nWould you like more carts(y/n)? ')
sessionLog_List= ['\n\nDate: ' + date,
'\nType of log: Session',
'\nNumber of carts: ' + str(carts),
'\nTotal number of items: '+ str(total_items),
'\nTotal cost of items:${0:8.2f}'.format(total_cost)]
log_File(lf,sessionLog_List) #log of session
#final output
os.system('clear')
print('\n\n\tTotal number of carts: ', carts)
print('\tTotal number of items: ', total_items)
print('\tTotal cost of items: ${0:8.2f}'.format(total_cost))
input('\n\nHit Enter to end program')
Explain what the code is doing line from line explanations please or summarize lines with an explanation def displayCart(): #displays the cart function """displayCart function - dis...
Zybooks 11.12 LAB*: Program: Online shopping cart (continued) Python 3 is the code needed and this is in Zybooks Existing Code # Type code for classes here class ItemToPurchase: def __init__(self, item_name="none", item_price=0, item_quantity=0): self.item_name = item_name self.item_price = item_price self.item_quantity = item_quantity # def __mul__(self): # print_item_cost = (self.item_quantity * self.item_price) # return '{} {} @ ${} = ${}' .format(self_item_name, self.item_quantity, self.item_price, print_item_cost) def print_item_cost(self): self.print_cost = (self.item_quantity * self.item_price) print(('{} {} @ ${} = ${}') .format(self.item_name, self.item_quantity, self.item_price,...
python programming: Can you please add comments to describe in detail what the following code does: import os,sys,time sl = [] try: f = open("shopping2.txt","r") for line in f: sl.append(line.strip()) f.close() except: pass def mainScreen(): os.system('cls') # for linux 'clear' print("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%") print(" SHOPPING LIST ") print("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%") print("\n\nYour list contains",len(sl),"items.\n") print("Please choose from the following options:\n") print("(a)dd to the list") print("(d)elete from the list") print("(v)iew the...
Python3 programming help needed LAB*: Program: Online shopping cart (continued) Need the below code edited to run properly for the lab.. class ItemPurchase: def __init__(self, nameitem='none', item_prc=0, item_quntity=0, item_descrp = 'none'): self.nameitem = nameitem self.item_prc = item_prc self.item_quntity = item_quntity self.item_descrp = item_descrp def print_itemvaluecost(self): string = '{} {} @ ${} = ${}'.format(self.nameitem, self.item_quntity, self.item_prc(self.item_quntity * self.item_prc)) valuecost = self.item_quntity * self.item_prc return string, valuecost def print_itemdescription(self): string...
Python3 programming help needed LAB*: Program: Online shopping cart (continued) Need the below code edited to run properly for the lab.. class ItemPurchase: def __init__(self, nameitem='none', item_prc=0, item_quntity=0, item_descrp = 'none'): self.nameitem = nameitem self.item_prc = item_prc self.item_quntity = item_quntity self.item_descrp = item_descrp def print_itemvaluecost(self): string = '{} {} @ ${} = ${}'.format(self.nameitem, self.item_quntity, self.item_prc(self.item_quntity * self.item_prc)) valuecost = self.item_quntity * self.item_prc return string, valuecost def print_itemdescription(self): string = '{}: {}'.format(self.nameitem, self.item_descrp) print(string , end='\n') return string class Shopping_Cart: #Parameter...
Something is preventing this python code from running properly.
Can you please go through it and improve it so it can work. The
specifications are below the code. Thanks
list1=[]
list2=[]
def add_player():
d={}
name=input("Enter name of the player:")
d["name"]=name
position=input ("Enter a position:")
if position in Pos:
d["position"]=position
at_bats=int(input("Enter AB:"))
d["at_bats"] = at_bats
hits= int(input("Enter H:"))
d["hits"] = hits
d["AVG"]= hits/at_bats
list1.append(d)
def display():
if len(list1)==0:
print("{:15} {:8} {:8} {:8} {:8}".format("Player", "Pos", "AB",
"H", "AVG"))
print("ORIGINAL TEAM")
for x...