I. In this assignment you will create a pet inventory application by fulfilling the requirements given below. You must first create the classes described below. Then write a driver program that will use these classes to build an application for a Pet Store. All pet data is stored in a file called petdata.dat.
II. Each time you run the program, the user is allowed to repeatedly select from the four choices described below:
1. Add a new pet
2. Compute and print current weight together with the age (in days)of all pets in the file
3. Print all pet information for every pet in the file
4. Exit the application
III. The first time you execute the program, your file will have no pets in it. Second time onwards, all pet data from previous executions of the program, should be available
• The base class Pet has the following attributes:
o pet’s name (String)
o date of birth (date),
o birth weight (float), and
o owner (Person).
• The child classes Mammal, Fish and Amphibian that inherit from Pet and have the following additional properties
o Mammals - litter size (int), hasClaws (boolean)
o Fish - scale condition (String), length (float)
o Amphibian - isVenomous (boolean).
• All these classes have the __init__ method as well as the get and set methods. In addition, they have additional methods required to complete the application as described below.
• Current weight is calculated as follows:
o Mammal: Weight increases by 8% every 50 days for the first 300 days. Weight is constant after that. Assume that the increase occurs on the 50th day only.
o Fish: Weight increases by 4% every 90 days for the first 360 days and then stays constant. Assume that the increase occurs on the 90th day only.
o Amphibians: Weight increases by 5% every 120 days for the first 360 days and then increases by 3% every 120 days for the next 240 days and then stays constant. Assume that the increase occurs on the 120th day only.
• The Person class is as described below:
It contains two instance variables: one each for the name, address of the owner. It has a __init__ method as well as get and set methods for all the instance variables. You may use aggregation or composition to include a Person object to your Pet data.
• The driver program does the following:
1. Accepts input for new pets
2. Lists the current weight of all the pets together with pet name. (The weight is rounded down to the nearest integer).
3. Displays all pet information for all the pets in the system. This includes owner details as well as data specific to pet type.
4. Exits the system after writing all information to a file.
Any pet data from earlier executions of the application must be available in subsequent executions.
o Your program should use exception handling to validate user input for date of birth and weight. If the user enters a non-numeric value for either, or if the month or day for the date of birth is an invalid value, print a message and exit the program.
o Your program should also ensure that the user enters valid values for the menu options as well as the choice of pet type. If the user enters incorrect options for either the menu option or the pet type, your program should display an appropriate message and display the menu or the choice of pet types again.
o To complete this assignment, you will need the date class from the datetime module.
o The user should enter year, month and date (in that order) separated by commas. If the year is not 2 characters long, raise a ValueError. Otherwise prefix ‘20’ to the year. This can then be converted to a 4-digit numeric value later.
o Ensure that both day and month are 2-digits by padding with zeroes if necessary
o Compute the age (in days) by subtracting the dob from today’s date.
o Compute the current weight as described earlier.
CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,
Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This
7COM1028 Secure Systems Programming Referral Coursework: Secure
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme