Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
Assignment
CS 0002
For this assignment you will be writing a single program to solve all the problems in it, which you should submit on Brightspace. If you work with another person on your program, please be sure to credit them in the comments in the header of the program. Remember to comment your program well and to put a header at the top of the program with your name, the course number and section, the date, and the assignment number. Document every function you write with an “input-processing-output” (IPO)-style header. You should do this for all the functions you write in this class. You may not use any Python modules in doing this assignment, because there are some modules, like the “csv” and “pandas” modules, which would make doing it much easier, and the point of the assignment is for you to learn how to process data from a file using the basic file operations taught in class. Problem #1: A Real Estate Database, Redone Redo the program to construct a real estate database of assignment 8, problem 5, but instead construct the following nested dictionary. realEstate = {"Studio Condo": {'sqfootage':400,'bedrooms':0,'price':100000}, "Charming Cottage": {'sqfootage':800,'bedrooms':1,'price':200000}, "Ranch": {'sqfootage':1200,'bedrooms':2,'price':300000}, "Tudor-Style Home": {'sqfootage':2400,'bedrooms':3,'price':500000}, "Georgian-Style Mansion": {'sqfootage':6000,'bedrooms':8,'price':2000000}}
You should implement the same inputs as follows as in the earlier problem (user input is underlined): Enter a home description, enter stop to exit: Studio Condo Enter the square footage: 400 Enter the number of bedrooms: 0 Enter the price: 100000 Enter a home description, enter stop to exit: Charming Cottage Enter the square footage: 800 Enter the number of bedrooms: 1 Enter the price: 200000 Enter a home description, enter stop to exit: Ranch Enter the square footage: 1200 Enter the number of bedrooms: 2 Enter the price: 300000 Enter a home description, enter stop to exit: Tudor-Style Home Enter the square footage: 2400 Enter the number of bedrooms: 3 Enter the price: 500000 Enter a home description, enter stop to exit: Georgian-Style Mansion Enter the square footage: 6000 Enter the number of bedrooms: 8 Enter the price: 2000000 Enter a home description, enter stop to exit: stop But when you are done with your inputs, just print the dictionary which should be the same as the nested dictionary given above (if you give the inputs shown above). Grading: Five points correct logic, three points correct output, two points comments Problem #2: Real Estate Database Search, Redone Redo the real estate database search of assignment 8, problem 5, but instead use the following nested dictionary as described in problem 1 which you can “wire” at the beginning of your program (that is, just put the following code there).
Grading: Five points correct logic, three points correct output, two points comments Problem #3: Read the Watch Data into a Nested Dictionary (10 points) Read the watch data from the assignment 9 into a nested dictionary where the top-level keys are the line numbers (starting with zero) are the top-level keys and the values are themselves dictionaries with keys “brand”, “description, “price” and “discount”. Print out the first five records of this nested dictionary as follows: 0 {'brand': 'fastrack wearables', 'description': 'unisex reflex curv pink strap silicone digital watch', 'price': 4495, 'discount': 31} 1 {'brand': 'fastrack wearables', 'description': 'unisex 40 mm reflex slay charcoal black dial silicone smart watch', 'price': 3995, 'discount': 33} 2 {'brand': 'titan', 'description': 'mens 52.50 x 11.70 x 44 mm octane black dial leather analog watch - 90107kl01', 'price': 3997, 'discount': 50} 3 {'brand': 'timex', 'description': 'men fashion green multifunction strap wrist watch', 'price': 3596, 'discount': 20} 4 {'brand': 'police', 'description': 'mens grey leather multi-function watch - pl15472jsu61', 'price': 7977, 'discount': 40}
If the dictionary you create had only the first three records, it would look like the following:
{0: {'brand': 'fastrack wearables', 'description': 'unisex reflex curv pink strap silicone digital watch', 'price': 4495, 'discount': 31}, 1: {'brand': 'fastrack wearables', 'description': 'unisex 40 mm reflex slay charcoal black dial silicone smart watch', 'price': 3995, 'discount': 33}, 2: {'brand': 'titan', 'description': 'mens 52.50 x 11.70 x 44 mm octane black dial leather analog watch - 90107kl01', 'price': 3997, 'discount': 50}}
But put all of the records in the dictionary. Grading: Five points correct logic, three points correct output, two points comments
Problem #4: Find the Brand Count, Most Expensive Watch, and Average Watch Price using the New Data Structure (10 points) Find the brand count, most expensive watch, and average watch price again, but using the new dictionary-based data structure described above. Print the brand count by creating and printing out a dictionary where the keys are the brands and the values are the counts. Grading: Five points correct logic, three points correct output, two points comments