TCS CPA PYTHON 7TH FEB 2022

TCS  Xperience IRA 7th Feb 2022 Python:

Product and Shipping

Hello Doraemons,In this blogpost .I have shared the question asked in python in sbq . I have provided 

 the complete question with test inputs. I think this is useful and to get more post like this follow my

 blogpost . keep learning and keep rocking.


Write the code to define a class to Create a Product object with following attributes

• Product Id

• Product Brand

• Product Type

• Unit Price

• Quantity in hand 

• Status

Write the code to define a method which takes parameters in above sequence for Product Id, Product

 Brand, Product Type Unit Price and Quantity in hand and sets the values for attributes while creating a

 Product object for the attribute Status a default value of "Available" is set.

Write the code to define another class to create a Shipping Company object with attribute as below

• A List of Product Objects

• Shipping Charge List A list which maintains the names of the cities to which product is shipped

along with the applicable shipping charge as city name : shipping charge' as key value pairs


Write the code to define the method to initialize the attributes in the above sequence while creating a

 Shipping Company object Create a second method inside the Shipping Company class to calculate the

 bill for an order for a Product of a given brand, type in a given quantity to be shipped to a given city

The method will take 4 arguments as below and return the Total bill - 

1. A value depicting a Product brand as the 18 argument 

2. A value depicting a Product type as the 2nd argument 

3. A value representing the name of a city as the 3rd argument 

4. A value representing the required quantity of Products as the 4th argument

From the Product List of the Shipping Company, method will look for a Product having Product Brand

 and Product Type value same as the values passed as 1st and 2nd arguments and the quantity in hand of

 the Product should be higher than or equal to the required quantity value passed as the 4th argument. If

 a Product fulfilling these conditions is found, method will find the applicable Shipping charge from the

 Shipping charge list of the Shipping Company for the city passed as the 3rd argument and calculate the

 total bill as below:

total bill Unit price *required quantity of products (value passed as the 4th argument) + Shipping

 Charge required quantity of products (value passed as the 4th argument).

This total bill will be calculated only if the name of the city passed as the 3rd argument is present in the

 Shipping charge list of the Shipping Company

If the bill can be calculated, method will return the calculated bill and update the value of quantity in

 hand of the Product found in the Product List of the Shipping Company by deducting the required

 quantity (value passed as the 4th argument) from it. If the updated quantity in hand becomes the status

 of the Product will be made 'unavailable"

If no Product having the given product brand and product type or having sufficient quantity in hand is

 available, method will return None. Also, if the name of the city passed as the 3rd argument is not

 present in the Shipping charge list of the Shipping Company, method will return None.

Note:

. All string comparisons should be case insensitive

• Assume there can be more than one Products of same type but there will not be more than one

Products of same type from same brand

Create a third method inside the Shipping Company class to find the product type wise count of brands

 for which Product is available in the updated Product List of the Shipping Company

Method will returns as a list of key: value pairs the product type wise count of available product brands

 (product type: count of available brands) If no valid Products found, method will return None.

Note: In the list to be returned the first character of the string for Product Type should be in upper case.

 For more clarity please refer to the sample input and output below.

Instructions to write main section of the code

a. You would require to write the main section completely, hence please follow the below instructions for the same 

b. You would require to write the main program which is to the sample input description section mentioned below and to read the data in the same sequence

 c. Create the respective objects (Product and Shipping Company) with the given sequence of arguments to fulfill the method requirement defined in the respective classes referring to the below instructions

 i. Create a list of Products. To create the list

1. First read the number of Products you want to store in the list.

2. Read the values for the attributes of the Product (Product id. Product Brand, Product Type, Unit Price, Quantity in hand) in the same sequence, create the product object and add it to the product list. This point repeats for the number of Products (consider the input taken in point #1 above) to be created ii. Create a list of "city name : shipping charge" as key value pairs for the Shipping Charges List of the Shipping Company. To create the list.

1. First read the number of elements you want to store in the list.

2. Read the values for the city name and corresponding shipping charge and add the values as key: value

 paid to the list. 

This point repeats for the number of elements (consider the input taken in point #il.1 above) to be

 created. i Create Shipping Company object by passing the list of Product objects created as mentioned

 in point #ci and the Shipping Charges list created in point #c.il 

d. Read values for Product Brand Product Type, name of a city and the required quantity of product to

 be passed as argument to the 2nd method defined in the Shipping Company class 

e. Call the 2nd method defined in the Shipping Company class by using the Shipping Company object created in point #c.il from the main section 

f. Display the message "Bill Calculated" (excluding the quotes). Display the bill value returned by the

 method called in point #e in the same line. 

If the method returns None, display the message "Product Not Found." (excluding the quotes). 

g. Call the 3rd method defined in the Shipping Company class by using the object created in point #c.il from the main section. h. Display the values returned by the method called in point #g as   in separate lines in ascending order of the Product Type.

If the method returns None, display the message No Products found' (excluding the quotes) Please refer

 to the sample output given for reference for more clarity on output formats.

You can use/refer the below given sample input and output to verify your solution Input Format for

 Custom Testing

a. The 1st input taken in the main section is the number of Product objects to be added to the list of 

Products b. The next set of inputs are the values related to attributes of Product objects to be added to 

the list.

Product id. Product Brand, Product Type, Unit Price Quantity in hand The above point repeats for the 

number of Product objects, read in point.

The next input is the count of elements (key value pairs) to be added to the Shipping Charges List of the

 Shipping Company class. d. The next set of inputs are the values for city name and corresponding 

shipping charge which is repeated for the number of elements mentioned in point e. The last four lines 

of input refer to the input Product Brand, Product Type, city name and required product quantity to be

 passed as argument to the 2nd method of the Shipping Company Class

You can consider below sample input and output to verify your implementation before submitting in

 Hacker rank


Sample input 1

5

1011

Leo

Electronic

300

20

1012

Leo

Electronic

350

50

1021

Leo

Puzzle

100

20

1022

Leo

mechanics

400

30

1023

Funk Cool

puzzle

350

20

3

Guwahati

50

Kolkata

30

Shillong

100

Leo

Electronic

Shillong

20


Output:

Bill Calculated:8000 

Electronic:2

Mechanics:1 

Puzzle:2


Sample input 2:

5

1011

Leo

Electronic

300

20

1012

Leo

Electronic

350

50

1021

Leo

Puzzle

100

20

1022

Leo

mechanics

400

30

1023

Funk Cool

puzzle

350

20

3

Guwahati

50

Kolkata

30

Shillong

100

Leo

Electronic

Delhi

20


output:

Product Not Found

Electronic:2

Mechanic:1

Puzzle:2


SOLUTION FOR THE ABOVE QUESTION IS EXPLAINED IN THIS VIDEO:


I HOPE THIS VIDEO IS HELPFUL TO YOU GUYS AND I HAVE EXPLAINED  THE SOLUTION IN THIS VIDEOS AND DOUBTS PLEASE COMMENT DOWN AND I WILL TRY TO SOLVE IT FOR YOU.


0 Comentarios

Follow Me On Instagram