THE CODE HAS TO INCLUDE TWO PY FILES AND ONE TXT FILE
CHECK THE FILE PROVIDED, FEEL FREE TO ASK ANY QUESTIONS
Homework Assignment-4 Due: 4/17/2022
Topics: Functions, Dictionary, Import, Files
Problem description: Write a python application to simulate an online clothing system. The
purpose of this assignment is to gain experience in Python dictionary structure, create basic
Python functions and import a module. This homework is based on Homework – 3 and will be a
helpful resource for your final project. This program is similar to HA-3 the only difference is that
it uses files read operation along with dictionary data structure.
Design solution: An input file input_HA4.txt is given – contains clothes item sold, one item per
line and each line contains the item id, name of the item and the prices. The program will
generate an items dictionary where each key is the item id of the cloth and the values will be a
list of item name and price information from reading the file information. A customer will be
presented with a main menu with 4 different options: display all items, add an item to cart by
ID, purchase item by price range, checkout and exit the program. A customer can buy an item
by entering the ID of the item. This program implements a dictionary called cart, where each
key is the item id and the values are the list of name, price and quantity that user chooses to
purchase. The program keeps repeating by displaying the main menu to user until user hits the
exit button. If user hits the checkout option, the program will display all the items in the cart
and display the total amount purchased.
Implementation:
1. This program will require to use two .py files: utility and application files. utility file
contains all the helper functions. The application file contains the main functionality of
the program. One helpful example can be: how to import a module discussed so far.
2. This program requires to implement two dictionaries: items and cart. items will be
populated from the given input file at the beginning of the program. Each key will be the
item id and the value will be a list of item name and price. cart dictionary will be a
subset of items dictionary that contains all the items user wants to purchase. The
structure will be same as items dict except the value list will contain name, price and
quantity of the item.
3. The application file will contain a main function. main function implements the user
menu and calls all the functions from the utility file. Hint: How to import a function from
one file to another?
4. Utility file will contain the following function definitions. All these function call will be
made from application file.
a. build_dict(): Returns items dict from input_HA4.txt input file. read each line of
the file, separate the information to identify the key and value to add an item to
the items dictionary. This function to be defined in the utility file and will be
called from the application file at the beginning of the program.
b. checkout(cart): Returns the total amount purchased using the user cart. This
function will be called when user chooses to checkout. cart contains all the items
user is purchasing. checkout function will get the price and quantity of an item
from the cart dictionary and returns the total amount by multiplying price with
quantity. Hint: price of an item is the -2 index and quantity at -1 index from the
cart’s value list.
c. display_all_items(d): Takes any dictionary d and display all the items in the
dictionary. This function will be called for purchasing options. Hint: How to print
a dictionary using a for loop?
d. add_to_cart_by_ID(user_id, user_quantity, cart, items): Add an item to cart
from the items dict if item id exists. User will provide the item id. If it exists then
item will be added to the cart. Upon successful addition the function will return
True otherwise returns False.
e. display_item_by_price_range(min_price, max_price, items): display an item if it
falls withing the user given price from the items dict. It will return True if items
are found within the range otherwise returns False. Same as HA-3
implementation except using a dictionary.
Sample I/O:
Welcome to Shopping IT109!
**** Following items are available in the store ****
ID-Item name-Price
ID1-AX Jacket-202.99
ID100-RL Polo-60.99
ID23-AK Tops- 19.99
ID34-Levis Jeans-65.78
[id] Purchase item by name
[p] Purchase item by price range
[c] Checkout
Please input an option or type ‘e’ to exit the program: p
Enter min price: 10
Enter max price: 70
ID100-RL Polo-60.99
ID23-AK Tops- 19.99
ID34-Levis Jeans-65.78
Enter the ID of the item: ID100
Enter the quantity: 4
4 of ID100 added to your cart
**** Following items are available in the store ****
ID-Item name-Price
ID1-AX Jacket-202.99
ID100-RL Polo-60.99
ID23-AK Tops- 19.99
ID34-Levis Jeans-65.78
[id] Purchase item by name
[p] Purchase item by price range
[c] Checkout
Please input an option or type ‘e’ to exit the program: ID
Enter the ID of the item: ID34
Enter the quantity: 1
1 of ID34 added to your cart
**** Following items are available in the store ****
ID-Item name-Price
ID1-AX Jacket-202.99
ID100-RL Polo-60.99
ID23-AK Tops- 19.99
ID34-Levis Jeans-65.78
Please input an option or type ‘e’ to exit the program: P
Enter min price: 300
Enter max price: 400
No item found within the price range. #error message
[id] Purchase item by name
[p] Purchase item by price range
[c] Checkout
Please input an option or type ‘e’ to exit the program: C
Thanks for shopping with us.
**** You purchased the following item(s) ****
ID-Item name-Price-Quantity
ID100-RL Polo-60.99-4
ID34-Levis Jeans-65.78-1
The total amount is: $309.74
**** Following items are available in the store ****
ID-Item name-Price
ID1-AX Jacket-202.99
ID100-RL Polo-60.99
ID23-AK Tops- 19.99
ID34-Levis Jeans-65.78
[id] Purchase item by name
[p] Purchase item by price range
[c] Checkout
Please input an option or type ‘e’ to exit the program: E
>>>
This information in the txt file;
ID1,AX Jacket,202.99
ID100,RL Polo,60.99
ID23,AK Tops, 19.99
ID34,Levis Jeans,65.78
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.
Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.
Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.