Question: need help on this question , please provide answer in python code. preferably with comments on each code to explain what it does . thank
need help on this question , please provide answer in python code. preferably with comments on each code to explain what it does . thank you




Question 2 A factory makes products using parts that are identified by letters A to L. Each product is made of at least 3 different parts, and is identified by a product code made up of letters identifying the parts. The letters in a product code is sorted alphabetically. E.g., a product with product code ABBBG is made up of 1 A, 3 B and 1 G parts. (a) Write and develop a function getPartsInCode which has one string parameter: product Code. The function returns a string in this format: nipi n2p2... nkpk. Note nipis are separated by space. For example, if product code is ABBBG, then the function returns 1A 3B 1G. (b) Note that the letters in the string parameter are in uppercase and are already sorted. You can use collections of only str type for function. This means collection types such as set, list, dict are not allowed. (5 marks) Apply and employ structured programming and write an application to manage the factory. Other than the data specified in Q2(b), you may use collections of any types for other data in your application. However, you should assume that the user input for product code is not sorted alphabetically. Initialise the following program data in your main method (that is, these variables are not global variables): The stock level for each part is 100 at the start of the application. startLevel = 100 The reorder point for each part is 20. Once the stock level is 20 or below, the part should be reordered. reorderPoint = 20 A string records the letters A - L. One letter is used to identify a part in the factory. partIds = 'ABCDEFGHIJKL' An un-nested list records the stock level of each part. The stock level for each part starts with the value recorded in startLevel. For example, stock level for part A should be recorded at the O-index, stock level for part B should be recorded at the 1-index, etc. Use another un-nested list to store existing product codes. Start the list empty. (2 marks) (c) Offer this menu repeatedly until option 0 is selected to end the application: Menu 1. Add product code 2. List inventory 3. Update inventory 4. Make product 5. Get summarised data 0. Exit Respond to the menu choices according to the description below. (3 marks) Add product code The program reads a product code. Note that as the letters may be unsorted when it is entered and the letters may be in uppercase or lowercase. The program first sorts the product code and then checks whether the code is valid. A valid code fulfills these criteria: The code is at least 3 characters in length. o Each character is a letter from A to L. If the code is valid, the program adds it to a list of product codes if the code is not already in the list of product codes. Display the following messages where appropriate: o The product code is invalid o The product code already exists o The product code has been added successfully Example runs Run 1 Enter new product code: abcz The product code is invalid Run 2 Enter new product code: abdc The product code has been added successfully Note that the code added is ABCD (sorted and in uppercase) Run 3 Enter new product code: acbd The product code already exists (5 marks) List inventory The stock level for each part is listed. Note that parts that should be reordered are displayed with asterisk. Example run Part Stock Level A B 100 100 100 100 D E F H i ) K L 12 189 100 20 100 100 100 100 Legend: *** stock level at or lower than reorder point 20 (3 marks) Update inventory This option allows the stock level of one or more parts to be restocked. The program repeatedly reads part identifier and the amount to add to the stock level for the part, until an empty string is entered for the part identifier. Each update of a part should be recorded in a file, transactions.txt on separate line in this format: restock letter quantityAdded Example run Enter part identifier or
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
