Hi,
I just started taking python classes this semester and I need help with a python program that's due Wednesday. It's a simple one but I don't have the time to build it. This
might be against you ethics, but I need you to build it for me and maybe explain it (that's optional). I would be willing to pay you 50$-75$ maybe a 100$ if it's what I need.
Below is what I need.
Please respond as soon as you can..
Housemate Helper.
Overview: This program allows a bunch of housemates to organize the sharing of expenses and the maintaining of inventory. Any housemate can enter his name, an item he bought (by category, either: Food, Utility, or Toy) the quantity of the item, and the total amount of money he spent. Then various queries can be made, about the quantity of items, about who owes who money, and so on, as detailed below.
Requirements: You must 1) create a class named HousemateHelper, which will be described below, 2) create other classes as needed, which will all be known by the top level class HousemateHelper, 3) write a simple console application (no graphics!) that uses the class HousemateHelper, with a few simple method calls, to create an interactive housemate helper.
In the following discussion, by a Item-String we mean a string which takes on one of the following 3 values: “food”, “utility”, or “toy”. The class HousemateHelper, must have at least the following methods (it may have more methods):
(a) The initializer takes no inputs.
(b) addPurchase: Takes as input Name, Item, Quantity, Cost; where Name is the name of the person who bought the item, Item is an Item-String, Quantity is positive integer, and Cost is a float. This information should be appropriately saved.
(c) getInventory: Takes a string input which should be an item-string, and returns the quantity of that item currently possessed.
(d) useItem: Takes as input a string, and a positive integer k. The string should be an Item-String. The result is that k of the given item are removed from inventory.
(e) personValue: Takes a string as input, which should be one of the people who has purchased something. The method returns a float (positive, negative, or zero) which indicates how much that person is in owed.
(f) equalize: Takes no inputs. Indicates a scheme by which people can make pay- ments to equalize everything. The format output should be a list of tuples, where each tuple is of the form (A, B, x), where A and B are person names, and x is an amount of money that A should pay to B.
8
Example: The following code should print or return what is in the comments.
H = HousemateHelper()
[login to view URL](’Juan’, ’food’, 7, 50)
[login to view URL](’Alice’, ’food’, 3, 5)
[login to view URL](’Bob’, ’toy’, 18, 35)
[login to view URL](’Liz’, ’utility’, 2, 10)
[login to view URL](’food’, 4)
[login to view URL](’food’) # returns 6 (i.e. 7 + 3 - 4)
[login to view URL](’Juan’) # returns 25
[login to view URL](’Bob’) # returns 10
[login to view URL](’Alice’) # returns -20 (note negative)
[login to view URL](’Liz’) # returns -15 (note negative)
[login to view URL]() # The following line is a possible return
#[ (’Alice’, ’Bob’, 10), (’Alice’, ’Juan’, 10), (’Liz’, ’Juan’, 15) ]